各位群友,
      不知大家有没有用过RC自带全局通讯录分组功能,现在它需要管理员创建邮件帐号后,还要登陆RC手工进行专门维护,比较麻烦。
      我最近对全局通讯录进行一些分析,想牵头鼓捣一款基于iRedmail专用的plugin插件,实现“管理员在iredadmin新建邮件帐号时,维护部门分组信息,RC直接显示”功能,具体实现思路如下,希望听听大家的意见。

1、iRedadmin-PRO里面增加[Group部门]管理数据,并提供前端维护。部门比照用户,隶属于不同[Domain域]。参见以下示意图iredadmin1.jgp

2、在RC中引用插件,并配置参数,选择不同呈现方式:
方式一:满足多个域管理,按[Domain域]分别分组显示各自域组织成员信息,且可通过参数限制用户查看自己域/全部域分组通讯录。参见group1.jpg
方式二:同一个组织,按[Group部门]分组显示,不管使用一个还是多个域,全部按Group分组显示。参见group2.jpg

       如果各位对此需求有兴趣,可以跟帖说说你的期望,想看看有多少人希望使用。

       最后一个重要问题,此插件拟定制开发,如果需要付费,你最多愿意付开发者多少钱?人民币、美刀、日元啥都行,看看能不能做 :-)

是pop3客户端报错吗?如果是,请确认有没有选择密码验证

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.8.6
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):OpenLDAP
- 使用的 Linux/BSD 发行版名称及版本号:Ubuntu 12.04
- 与您的问题相关的日志信息:
====
在/iredadmin/activities/quarantined查看“已隔离的邮件”页面,分页查看错误,虽然网页地址栏会变为/iredadmin/activities/quarantined/page/2,但还是显示第一页内容,其他的分页没有问题。

TO张工,问题解决了,原来是域解析问题。原来domain.com解析到ip1,公司网站最新改版发布到ip2,管理员除了将www.domain.com的dns指向到ip2,还将domain.com也指向到ip2。
现在调整回来问题解决,谢谢!

张工,我的Amavisd没有升级,版本还是amavisd-new-2.6.5 (20110407),0.8.5正常,0.8.6升级了几天了的,开始也正常的,就昨天突然开始不行。

ZhangHuangbin 写道:

你的 Amavisd 是不是从 2.6 升级到 2.8?但是 sql 数据库没有做相应的升级?
如果是的话,可以考虑这样修正:

*) 删除 amavisd 数据库里的所有表。
*) 重新建立所有表。针对 Amavisd-new-2.7 及 2.8 的 SQL 模版在这里:
https://bitbucket.org/zhb/iredmail/src/ … at=default

张工,对不起,补充说明:
1、phpmyadmin检查可以登录并查看mysql数据库;
2、查看/etc/amavis/conf.d/50-users文件中连接mysql用户名和密码,并用phpmyadmin验证可以登录并查看记录。

ZhangHuangbin 写道:

信息显示的是,Amavisd 无法保存信息到 SQL 数据库。
请检查一下 mysql 服务是否正常运行。

==== ==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.8.6
- 使用哪个数据库存储用户帐号(OpenLDAP):
- 使用的 Linux/BSD 发行版名称及版本号:ubuntu 12.04
- roundcube: 0.9.5
- 与您的问题相关的日志信息:
====
张工,
        今天突然roundcube无法登录,提示无法连接imap服务器,无从下手,麻烦帮忙看看是否升级问题?并且诡异的问题,我客户端试用thunderbird可以使用imap收邮件。谢谢!

/var/log/mail.err中错误信息:
Jan  6 01:34:35 localhost amavis[673]: (00673-03) (!!)ERROR sql_storage: too many retries on storing preliminary, info not saved
Jan  6 01:36:09 localhost amavis[430]: (00430-14) (!!)ERROR sql_storage: too many retries on storing preliminary, info not saved
Jan  7 01:34:46 localhost amavis[16405]: (16405-13) (!!)ERROR sql_storage: too many retries on storing preliminary, info not saved
Jan  7 01:35:41 localhost amavis[16628]: (16628-04) (!!)ERROR sql_storage: too many retries on storing preliminary, info not saved
Jan  7 01:40:07 localhost amavis[16628]: (16628-05) (!!)ERROR sql_storage: too many retries on storing preliminary, info not saved
Jan  7 13:42:03 localhost roundcube: IMAP Error: Login failed for user@domain.com from 58.221.130.122. Could not connect to domain.com:143: Connection refused in /usr/share/apache2/roundcubemail-0.9.5/program/lib/Roundcube/rcube_imap.php on line 184 (POST /webmail/?_task=login&_action=login)

系统环境:
      iredmail v0.7.1
      iRedAdmin-Pro    v1.6.2 (LDAP)

mail.log
Sep 16 13:04:35 mail postfix/qmgr[1525]: 477E3780B73: from=<zhongjh@jamestextile.com>, size=1497, nrcpt=2 (queue active)
Sep 16 13:04:35 mail postfix/pipe[22229]: 477E3780B73: to=<zhongjh@jamestextile.com>, relay=dovecot, delay=0.59, delays=0.05/0.02/0/0.52, dsn=2.0.0, status=sent (delivered via dovecot service)

但是在如附件所示图片,显示日志时间差了8小时(当前系统设置时区为+8),请确认是否系统bug或我设定错误,谢谢!

测试OK,谢谢!

抓到一共错误,在iredapd-rr.ini中少了bypass_mynetworks,加上bypass_mynetworks = no后测试还不行。
2011-08-04 10:12:29 DEBUG Error: No option 'bypass_mynetworks' in section: 'general'. Use default action instead: DUNNO

另外,我是根据wiki设置iredapd-rr,怎么会漏了bypass_mynetworks呢?

root@mail:~$  postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_min_user = no
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
delay_warning_time = 0h
disable_vrfy_command = yes
enable_original_recipient = no
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
maximal_backoff_time = 4000s
maximal_queue_lifetime = 1d
message_size_limit = 15728640
minimal_backoff_time = 300s
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
mydomain = jamestextile.com
myhostname = mail.jamestextile.com
mynetworks = 192.168.0.0/24,127.0.0.0/8
mynetworks_style = subnet
myorigin = mail.jamestextile.com
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions
queue_run_delay = 300s
readme_directory = no
recipient_bcc_maps = proxy:ldap:/etc/postfix/ldap/recipient_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap/recipient_bcc_maps_user.cf
recipient_delimiter = +
relay_domains = $mydestination, proxy:ldap:/etc/postfix/ldap/relay_domains.cf
relayhost =
sender_bcc_maps = proxy:ldap:/etc/postfix/ldap/sender_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap/sender_bcc_maps_user.cf
smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_enforce_tls = no
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_helo_access pcre:/etc/postfix/helo_access.pcre
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, check_policy_service inet:127.0.0.1:10031
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_path = ./dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = proxy:ldap:/etc/postfix/ldap/sender_login_maps.cf
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated, check_policy_service inet:127.0.0.1:7778
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_loglevel = 0
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf
virtual_alias_domains =
virtual_alias_maps = proxy:ldap:/etc/postfix/ldap/virtual_alias_maps.cf, proxy:ldap:/etc/postfix/ldap/virtual_group_maps.cf, proxy:ldap:/etc/postfix/ldap/sender_login_maps.cf, proxy:ldap:/etc/postfix/ldap/catchall_maps.cf
virtual_gid_maps = static:1001
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:ldap:/etc/postfix/ldap/virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap/virtual_mailbox_maps.cf
virtual_minimum_uid = 1001
virtual_transport = dovecot
virtual_uid_maps = static:1001

ZhangHuangbin 写道:

您贴的 debug log 只是 iRedAPD 启动时的信息,没有任何发送邮件相关的信息。
另外,请注意您需要的这个功能需要启用 iRedAPD 的插件 block_amavisd_blacklisted_senders。

1、我在Roundcube中发送测试邮件进行测试。
2、已经启用该插件,但是发送好像没有生效。

版主,我在邮件系统测试如下:允许发送给以下收件人:当前域@jameskingdom.com禁止发送给以下发件人:所有域@.希望实现仅可以内部域发送,但是实际测试,我发送到另外的域还是可以收到邮件。Debug log如下,请参考。2011-08-01 10:58:40 INFO Starting iredapd (v1.3.5, pid: 2821), listening on 127.0.0.1:7777.2011-08-01 10:58:40 DEBUG Forking first child.2011-08-01 10:58:40 DEBUG Creating new session2011-08-01 10:58:40 DEBUG Forking second child.2011-08-01 10:58:40 DEBUG Setting umask2011-08-01 10:58:40 DEBUG Changing working directory to

已经更新并测试OK,谢谢~

ZhangHuangbin 写道:

谢谢您的反馈和帮助。

已确认是 iRedAdmin-Pro 的 bug。这里是用于修复该问题的补丁文件:

diff -r db4985c366dc libs/amavisd/__init__.py
--- libs/amavisd/__init__.py    Tue Jul 19 23:56:19 2011 +0800
+++ libs/amavisd/__init__.py    Wed Jul 20 12:55:55 2011 +0800
@@ -2,4 +2,4 @@
 #   - Amavisd-new-2.7+: [ A-Z, a-z, 0-9, -, _ ]
 #   - Amavisd-new-2.6.x: [ A-Z, a-z, 0-9, +, - ]
 
-MAIL_ID_CHARACTERS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-_'
+MAIL_ID_CHARACTERS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-_'
diff -r db4985c366dc admin/trunk/libs/amavisd/log.py
--- libs/amavisd/log.py    Tue Jul 19 23:56:19 2011 +0800
+++ libs/amavisd/log.py    Wed Jul 20 12:55:55 2011 +0800
@@ -59,7 +59,7 @@
             return (False, 'INCORRECT_MAILID')
 
         # Filter unexpected mail_id strings.
-        mailIds = [v for v in mailIds if len(set(v) - set(MAIL_ID_CHARACTERS)) > 0]
+        mailIds = [v for v in mailIds if len(set(v) - set(MAIL_ID_CHARACTERS)) == 0]
 
         if len(mailIds) == 0:
             return (True,)
ZhangHuangbin 写道:
Michael 写道:

LDAP版,无法删除 发送的邮件/收到的邮件

我自己测试没有发现无法删除发送/接收的邮件,但之前确实出现过无法删除部分隔离邮件的情况(这部分都是病毒邮件,而不是 SPAM)。
暂时无法判断是何原因导致的,是否可以在您的 iRedAdmin-Pro 里为我建立一个测试用的帐号,用于检查原因?或者将您的 Amavisd 数据库整个导出后邮寄给我,便于我本地做测试和修复 bug?

我发mail给你,你可以连我的测试环境看下,谢谢!

ZhangHuangbin 写道:

应该是无法删除部分被隔离的邮件吧?
您使用的 iRedAdmin-Pro 是 LDAP 版还是 MySQL 版?具体的版本号是什么?(这些可以在登陆后的 Dashboard 页面看到。)

LDAP版,无法删除 发送的邮件/收到的邮件,隔离的邮件我是没有的,谢谢!

如题,在 iRedAdmin-Pro管理系统里面,对其中记录进行删除,但是有部分一直无法删除,请问可能会什么问题?谢谢!

ZhangHuangbin 写道:
Michael 写道:

请问,我已经升级到1.6.1,但是用户Quota没有图示,只有用户可用容量,是哪里设定有问题?谢谢!

您的 iRedMail 是哪个版本?

要显示实时的邮箱容量使用情况,必须满足以下几个条件:
- Dovecot-1.2.x
- 已经配置 dovecot 将用户实时邮箱使用情况存储在 MySQL 数据库里。OpenLDAP 版本是存在数据库 iredadmin.used_quota 表里,MySQL 版是存在 vmail.mailbox 里。如何配置请参考 wiki 文档: http://iredmail.com/wiki/index.php?titl … a.In.MySQL
- 在 iRedAdmin-Pro 的配置文件 settings.ini 里设置了 "show_used_quota = True"。如果原先为 False,修改后需要重启 Apache。

根据第三步处理OK,谢谢!

请问,我已经升级到1.6.1,但是用户Quota没有图示,只有用户可用容量,是哪里设定有问题?谢谢!