Postfixselect性header_checks:smtpd_relay_restrictions与smtpd_recipient_restrictions

我的一些客户实施了违反电子邮件RFC的商业软件,因此我们不得不放松我们的标题检查。 结果,我们收到更多的垃圾邮件。

序言:

  • 我知道这些电子邮件来自的域(customer.com)和IP地址(abcd / C)

请求帮助:

  • 是否可以在Linux上设置一个Postfix(2.11)实例:
    • 它仅应用来自。* @ customer.com的电子邮件的一些标题检查
    • 但适用于所有其他电子邮件源的所有标题检查?

我想到了包含smtpd_recipient_restrictions中子网abcd / C的mynetwork组合,允许所有这些消息通过 – 同时避免使用smtpd_relay_restrictions开放中继。

但是,这并没有达到预期的效果。

任何想法或帮助,高度赞赏。

提前致谢。

卢克

== ==编辑

对于目前的问题,我通过将REDIRECTs预先添加到header_checks来解决了这个问题,如下所示:

/^received: from.*customer.com.*by mail.own.com.*for.*luke@own.*/ REDIRECT [email protected] 

这工作到目前为止需要。

无论如何,我仍然在寻找一个后缀configuration,将这种基于文本的设置成基于IP地址范围的转发规则….

谢谢。

卢克

设置第二个postfix实例监听不同的端口,并将其configuration为与现有实例相同,除了放宽header_checks (和不同的监听smtpd端口),然后在networking级别的tcp连接从客户服务器的IPredirect到新的实例。 同样在防火墙级拒绝来自除了客户IP以外的每个人的到新端口的传入连接。

如果运行一个现代的Linux发行版,redirect来自某个IP地址的stream量进入tcp端口25到另一个tcp端口可以通过netfilter规则完成,如下所示:

root@email:~# $(which iptables) -t nat -I PREROUTING -i $incoming_interface -p tcp -s $customer_ip --dport 25 -j REDIRECT --to $second_postfix_listening_port

由于您运行的是最新的后缀版本,因此可以将现有设置迁移到postmulticonfiguration中,以便于创build附加实例(例如,您不需要创build额外的init脚本,所有实例将由单个后缀init脚本启动/停止当运行postmulticonfiguration)。

如果您需要更多关于postmulti的帮助,请在评论中留下问题。