zimbra 版本 8.6.0

原因开启zimbra dns检查后,会导致部分不规范邮箱发送邮件被拒绝。
解决方法:对这部分邮箱可以添加白名单

zimrba wiki文档示例:
https://wiki.zimbra.com/wiki/Specific_Whitelist/Blacklist_per_IP
由于示例只写明了黑白名单ip地址,不知道使用域名是否可行。

由于zimbra也是使用postfix作为mta,在配置里生效的方法也是使postfix配置项smtpd_recipient_restrictions改动。

查看postfix 文档
http://www.postfix.org/SMTPD_ACCESS_README.html

通过多个文档可以确认修改思路,直接修改postfix的发件检查配置项smtpd_recipient_restrictions,由于zimbra postmap 生成的数据库是.lmdb,不是.db所以不能直接用hash:需要用lmdb:
lmdb使用参考文件:http://www.postfix.org/DATABASE_README.html

在/etc/postfix/目录下创建 sender_checks 文件
修改sender_checks权限为zimbra:zimbra
在sender_checks文件中填入
example12939.com REJECT
example12940.com OK

su zimbra
通过
postmap /etc/postfix/sender_checks
在该目录下生成一个文件为:
sender_checks.lmdb

如果直接在/opt/zimbra/postfix/conf/main.cf 中修改smtpd_recipient_restrictions项,zmmtactl restart; zmconfigdctl restart; 重启后/opt/zimbra/postfix/conf/main.cf会被还原
zimbra配置文件在cd /opt/zimbra/conf/zmconfigd 中有一个smtpd_recipient_restrictions.cf,在/opt/zimbra/postfix/conf/main.cf生效的配置都是配置在该文件中。

在该文件中permit_mynetworks后添加:
vim /opt/zimbra/conf/zmconfigd/smtpd_recipient_rest
permit_mynetworks
check_sender_access lmdb:/etc/postfix/sender_checks

然后重新生效配置
zmmtactl restart; zmconfigdctl restart;

发现使用example12940.com中所有邮箱都不会因为不是标准的反向域名解析而被拒绝了

后期添加黑白名单只需要在zimbra帐号下执行
修改
/etc/postfix/sender_checks 文件
postmap /etc/postfix/sender_checks 重新生成lmdb数据库