我想使用 Postfix 框做两件事:
- 将互联网上任何主机发往我的某个域的邮件中继到我的 Zimbra 服务器
- 将邮件从我的 Zimbra 服务器中继到互联网上的任何地址。
为了尝试实现这一点,我已将 Postfix 配置如下:
mynetworks = 127.0.0.0/8, zimbra_ip/32
myorigin = zimbra_server
mydestination = localhost, zimbra_server
relay_domains = example.com example.org
transport_maps = hash:/etc/postfix/transport_map
local_transport = error:no mailboxes on this host
transport_map如下所示:
example.com smtp:[zimbra_server]
example.org smtp:[zimbra_server]
现在,它已正常运行并通过了 Open Relay 测试。但是,我看到maillog
服务器正在将From:
地址为 的垃圾邮件转发<>
到不属于我的域。我该如何阻止此行为?
答案1
您需要输入 smtpd_recipient_restrictions 来进行一些入站标头检查。网上有很多示例,以下是仅中继主机的示例
smtpd_helo_restrictions =
permit_mynetworks,
reject_non_fqdn_hostname,
reject_invalid_hostname,
permit
smtpd_recipient_restrictions =
permit_mynetworks
reject_invalid_hostname
reject_non_fqdn_hostname
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unauth_destination
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_rbl_client bl.spamcop.net
permit
拒绝未授权目的地应该拒绝发送至不属于您的域名的电子邮件。
拒绝非 fqdn_sender应拒绝(一些)不适当的电子邮件从场地。
您可能想要删除拒绝无效的主机名如果得到太多的误报,则从两者中剔除。
拒绝_rbl_客户端是另一个你应该研究的。我在示例中给出了一个。你可以添加更多。
这应该可以给你一个起点。这些选项名称应该是不言自明的。详细信息可以在Postfix 站点。
您甚至可以添加垃圾邮件过滤和病毒扫描程序,如 amavis。如果您进行搜索,还会发现很多示例。