在 Zimbra/Postfix 上将单个(欺骗性)电子邮件地址列入白名单

在 Zimbra/Postfix 上将单个(欺骗性)电子邮件地址列入白名单

我已经设置 Zimbra 来拒绝来自未登录用户的电子邮件(欺骗电子邮件)。

我有这个设置/opt/zimbra/conf/domainrestrict

长期以来,这一方法一直效果很好。

我现在需要将一个电子邮件地址“列入白名单”,该地址将始终被此配置捕获。该电子邮件源自我们的网站托管系统,但代表该电子邮件地址发送。因此对于 Zimbra 来说,它在发件人字段中似乎是一个伪造的电子邮件地址。

我尝试将此电子邮件地址添加到/opt/zimbra/conf/postfix_recipient_access并将其设置为OK,但似乎仍然被抓住并被拒绝。

我还尝试将托管服务的 IP 地址添加到zimbraMtaMyNetworks(postfix 的myNetworks),但目前有超过 70 个 IP 地址,并且这可能会随着时间的推移而发生变化。此配置似乎与 Zimbra 不符,postfix 开始拒绝所有内容451 4.3.0 Temporary lookup error. Session aborted, reason: lost connection。似乎 IP 地址列表太大,DNS 服务器上发生了一些超时?

我该怎么做才能继续拒绝欺骗性的电子邮件,但允许特定电子邮件地址的电子邮件通过?

答案1

您是否尝试过使用 SPF 来关注相关电子邮件的来源 IP 地址。从实际用途来看,SPF 本质上是允许的 IP 地址和主机的白名单。也许看看您是否可以使用电子邮件身份验证路线?

答案2

也许您可以在 Web 服务器上使用经过身份验证的 SMTP。这样,邮件将被视为来自本地用户,而不是远程邮件系统。

答案3

好吧,解决方案并不是那么困难:

对于 Zimbra 8.5 和 8.6(指南来自:https://wiki.zimbra.com/wiki/Domain_level_blocking_of_users

1)按照以下定义创建 postmap 数据库修改 /opt/zimbra/conf/zmconfigd/smtpd_sender_restrictions.cf,将其添加为文件的第二行:

%%contains VAR:zimbraMtaSmtpdSenderRestrictions check_sender_access lmdb:/opt/zimbra/postfix/conf/postfix_reject_sender%%

2)然后执行:

zmprov ms <zmhostname> +zimbraMtaSmtpdSenderRestrictions "check_sender_access lmdb:/opt/zimbra/postfix/conf/postfix_reject_sender"

3)创建文件 /opt/zimbra/postfix/conf/postfix_reject_sender,其中包含要拒绝的电子邮件地址和域的列表,格式如下:

[email protected] OK

4)对其进行 postmap 并重新启动 postfix

/opt/zimbra/postfix/sbin/postmap /opt/zimbra/postfix/conf/postfix_reject_sender
zmmtactl stop && zmmtactl start

相关内容