文档已更新:
http://www.iredmail.org/docs/quarantini … ined-mails

这个工具的文档不够详细,但是代码的注释倒是够详细。这里先贴出代码的注释部分,稍后完善文档:

# Purpose: Notify local recipients (via email) that they have emails
#          quarantined on server and not delivered to their mailbox.

# Usage:
#
#   - Set a correct URL in iRedAdmin-Pro config file `settings.py`, so that
#     users can manage quarantined email within received notification email:
#
#       # URL of iRedAdmin-Pro, it will be displayed in notification email,
#       # so that users can know where they can manage quarantined mails.
#       # It should be https://[your_server]/iredadmin/
#       NOTIFICATION_IREDADMIN_URL = 'https://[your_server]/iredadmin/'
#
#   - Setup a cron job to run this script every 6 or 12, 24 hours, it's up to
#     you. Sample cron job (every 12 hours):
#
#       1 */12 * * * python /path/to/notify_quarantined_recipients.py >/dev/null
#
#     Available arguments:
#
#       --force-all:
#           Send notification to all users (who have email quarantined).
#
#       --force-all-time:
#           Notify all quarantined emails instead of the new ones since last
#           notification.
#
#       --notify-backupmx
#           Send notification to all recipients under backup mx domain
#
#   - Also, it's ok to run this script manually:
#
#       # python notify_quarantined_recipients.py [arg1 arg2 arg3 ...]

# Customization
#
#   - This script sends email via /usr/sbin/sendmail command by default, it
#     should work quite well and has better performance. if you still prefer
#     to send notification email via smtp, please set proper smtp server and
#     account info in iRedAdmin-Pro config file `settings.py`:
#
#       NOTIFICATION_SMTP_SERVER = 'localhost'
#       NOTIFICATION_SMTP_PORT = 587
#       NOTIFICATION_SMTP_STARTTLS = True
#       NOTIFICATION_SMTP_USER = ''
#       NOTIFICATION_SMTP_PASSWORD = ''
#
#   - To custom mail subject of notification email, please define below
#     variable in iRedAdmin-Pro config file `settings.py`:
#
#       # Subject of notification email.
#       NOTIFICATION_QUARANTINE_MAIL_SUBJECT = '[Attention] You have emails quarantined and not delivered to mailbox'
#
#   - To custom HTML template file, please create your own file by named
#     `tools/notify_quarantined_recipients.custom.html`. If no custom HTML
#     template file, this script will use default one instead:
#     `tools/notify_quarantined_recipients.html`

# How it works:
#
#   - Mail user login to iRedAdmin-Pro (self-service) and choose to receive
#     notification email when there's email quarantined.
#
#       - OpenLDAP: user will be assigned `enabledService=quar_notify`.
#       - SQL backends: column `mailbox.settings` contains `quar_notify:yes`.
#
#   - This script queries SQL/LDAP database to see who are willing to receive
#     a notification email.
#
#   - This script checks Amavisd database to get info of quarantined mails
#     for these users.

353

(5 篇回复,发表在 iRedMail 技术支持)

rain6966 写道:

有關 outgoing 的monitor , admin@ 無法收到 user 發出信件,
要如何設定

可否重新发一个 thread 单独讨论这个问题?第一个 post 里内容太多,有些混乱。为了方便正确理解你的问题,能单独发一个 thread 会更好些。

sql 字段 mailbox.defaultlanguage 在某个 iRedMail 版本里已经移除了。似乎你是在用旧版本的 iRedAdmin-Pro 管理新版本的 iRedMail 服务器吧?解决办法很简单:升级你的 iRedAdmin-Pro 就好了。

355

(5 篇回复,发表在 iRedMail 技术支持)

rain6966 写道:

per-domain bcc 啟用 , per-user bcc 啟用 ; 某例外 user bcc 不啟用, 應如何設定?

暂时无法实现。

Postfix 会先查询 per-user bcc,如有,则使用;如无,则继续查询 per-domain bcc。
如有 per-domain bcc,则使用;如无,则无任何 bcc 作用于该用户的邮件。

这里的优先级指的是,如果有,则使用,如果无,则查询并使用更低优先级的 bcc。而不是:如果无 per-user bcc,则无论是否有  per-domain bcc 均不启用 bcc。

356

(3 篇回复,发表在 iRedMail 技术支持)

yulei_mail 写道:

iredadp和iredadmin下都有个upgrade的shell程序可以用,iredmail就没有。是不是?

iRedMail 没法做到一键升级,因为太多系统管理员会在安装完成后修改一些配置文件,例如 postfix 的配置文件。你总不能覆盖掉用户的自定义设置吧。

而 iredapd/iredadmin 作为独立的程序,所有自定义参数都在配置文件里,升级时复制配置文件过去即可。

yulei_mail 写道:

是不是升级iredmail就是严格按照(http://www.iredmail.org/docs/upgrade.iredmail.0.9.5.1-0.9.6.html)这么一大篇文章,手工一步步做下来?
而没有一个shell可用的?

是的。

357

(3 篇回复,发表在 iRedMail 技术支持)

yulei_mail 写道:

1) Update /etc/iredmail-release with new iRedMail version number
这是要我手工把这个release文件中的0.9.5-1改成 0.9.6么?

这个文件是用于帮你识别当前 iredmail 是哪个版本。

yulei_mail 写道:

3)Upgrade iRedAdmin (open source edition) to the latest stable release (0.7)
我付费版本,在这一步升级iredadminpro么?问题是,升级iredadmin前不是先要升级iredmailt么?
而且下面还有这么多步骤还没操作。就先升级iredadminpro么?是这样么?

如果有 iRedAdmin-Pro,则可以不去理会 iRedAdmin open source edition 的升级 -- 因为你根本就不用它了啊。

yulei_mail 写道:

4)Upgrade Roundcube webmail to the latest stable release (1.2.3)
我看是手工下载Roundcube,然后,按照它的官网文档升级喽?

是的。

358

(5 篇回复,发表在 iRedMail 技术支持)

内容太多,看得有点乱。

rain6966 写道:

a). 網域: BCC
Monitor incoming emails via BCC => 打勾
Monitor outgoing emails via BCC => 打勾
BCC incoming emails to other address  => admin@mydomain.com
BCC outgoing emails to other address  => admin@mydomain.com
(subdomain 設定差異處)
BCC incoming emails to other address  => admin@sub.mydomain.com
BCC outgoing emails to other address  => admin@sub.mydomain.com

b). users : Advanced
BCC incoming emails to other address =>清除不填(預設會繼承網域BCC)
BCC outgoing emails to other addres  =>清除不填(預設會繼承網域BCC)

Enabled-services
不打勾 =>BCC incoming emails to other address
不打勾 =>BCC outgoing emails to other address

以上設定是否有問題?

不同账号类型的 BCC 优先级不通:Per-user BCC settings > Per-domain。即:

- 如果有 per-user bcc,则使用 per-user bcc。
- 如果无 per-user bcc,则查询 per-domain bcc。如果有则使用 per-domain bcc,如无责则此邮件不会做任何 bcc 处理。

如果 per-user bcc 的设置处没有打勾,意思是使用 per-domain bcc(如有)。而不是 explicitly 表示不对该用户的邮件做 bcc 处理。

按此运作原理去分析你的 bcc 流程看看是否正确。

用 thunderbird 吧。

已发送下载地址到邮箱。请注意查收。

it 写道:

我用foxmail设置时110不能接收邮件,只能用SSL的995接收。而发送时587不能发送,25才能发送?为何?

110 端口用 TLS 也是可以接收的。
发送 587 必须加 TLS。
25 端口是不能发送的。除非你是旧的 iredmail 版本。

另外,foxmail 一堆问题,你用其他邮件客户端做测试,排除 foxmail 的问题。

最理想的 LDAP filter 是:

(&(enabledService=mail)(enabledService=deliver)(enabledService=displayedInGlobalAddressBook)(|(objectClass=mailList)(objectClass=mailAlias)(objectClass=mailUser)))

不了解你的 DSM,只能你自己试试了。

yulei_mail 写道:

奇怪,iredmail缺省发送邮件用的是587端口,STARTTLS加密的,如果一定要用SSL,是465端口。对于普通用户发邮件来说,应该是从来不用25端口的吧。

是的。

iRedMail 默认只允许用 587 端口使用 TLS 加密传输来发送邮件。25 端口不允许用户发邮件出去。

是的。

iRedMail 有用户和组,但你的 DSM 使用的 LDAP FILTER 语句可能不对。检查一下。

yulei_mail 写道:

求一个可用的代理服务器帐号吧。悄悄地给我也行

试试这样:进入 iRedAdmin-Pro 目录,然后运行命令:

perl -pi -e 's#www.iredmail.org#173.254.22.21#g' libs/__init__.py

重启下 Apache 或 uwsgi 服务。因为墙的问题,可能要等30分钟后再访问才行。

yulei_mail 写道:

升级过程中,会影响邮件的正常收发的么。

不会。

yulei_mail 写道:

我觉得你在国内,为何不给国内的用户提供一下国内可用的升级办法呢。

国内的情况,你懂的。

墙的问题。如果你有 http proxy 服务器可用,可以在 iRedAdmin-Pro 配置文件 settings.py 里设置 proxy 地址:

#   - Without authentication: HTTP_PROXY = 'http://192.168.1.1:3128'
#   - With authentication: HTTP_PROXY = 'http://user:password@192.168.1.1:3128'
HTTP_PROXY = ''

Apache 里的 ACL 不是 iRedMail 添加的,所以就交给你自己处理了。 big_smile

it 写道:

张工,我在服务器进入mail,然后进入密码那里,保存按钮是正常的,但在其他电脑上面是灰色的状态,不能保存修改!~

这个还真不知道什么情况了。你使用的是什么浏览器?

adminer 自己摸索一下吧,就一个 php 文件,随便放到那个 web 目录就能运行了。

371

(1 篇回复,发表在 iRedMail 技术支持)

slapd.conf 包含 ldap root dn 的密码(加密后的),应该是 0640 权限为佳。
刚才检查了 iRedMail source code,确实复制了 sample slapd.conf 后没有设置 permission,我修正一下。

rain6966 写道:

ERROR 1142 (42000) at line 76 in file: '/var/www/iredadmin/SQL/iredadmin.mysql': CREATE command denied             to user 'iredadmin'@'localhost' for table 'domain_ownership'

此错误表示你的 SQL user “iredadmin”没有 'CREATE TABLE' 的权限。请以 sql root user 执行以下命令来修正:

sql> GRANT ALL ON iredadmin.* TO iredadmin@localhost;
sql> FLUSH PRIVILEGES;
sql> USE iredadmin;
sql> SOURCE /var/www/iredadmin/SQL/iredadmin.mysql;
rain6966 写道:

ldap.INVALID_CREDENTIALS: {'desc': 'Invalid credentials'}

此错误信息表示使用的 bind dn 或密码不正确。请重新确认。

it 写道:

张工,我在服务器进入mail,然后进入密码那里,保存按钮是正常的,但在其他电脑上面是灰色的状态,不能保存修改!~

换个浏览器试试

it 写道:

张工,那灰色的保存按钮如何解决?

什么灰色的保存按钮?:(