将标头添加到通过exim4发送的邮件中

时间:2020-03-06 14:37:15  来源:igfitidea点击:

我有一个运行Exim4-daemon-heavy的Debian Etch系统。

该系统对互联网开放,但其目的是仅接收来自垃圾邮件过滤服务的合法邮件,该服务作为垃圾邮件过滤服务的代理。 (不过,我不能仅仅限制对这些IP的访问,因为我确实有一些授权用户通过我的服务器在端口25上进行中继。我知道我应该使用587,但目前还没有。)

这种工作的一般方式是:

[Internet]-> [SMTP代理]-> [我的服务器]

不幸的是,我有垃圾邮件发送者直接将邮件发送到邮件服务器,而忽略了MX记录。因此,似乎我显而易见的解决方案是:

  • 将标题添加到SMTP代理中的每个已处理邮件。
  • 除非邮件来自授权的中继器,否则在我的服务器上为每个传入消息添加标头。 (即完成SMTP AUTH的人。)

这样,我可以使用procmail来处理通过忽略我的MX记录的发件人直接发送的垃圾邮件。

我很确定Exim4可以被强制添加一个标题,例如" X-Submitter:$ ip",以记录提交该消息的远程IP,但是我不确定该怎么做。

解决方案

请注意,debian重新打包exim以一种非常独特的方式进行输出,这使得它们的打包和维护更加容易,但是使用通用规则有时并不会很顺利地插入。

解决此问题的正确方法是拒绝未经授权且不是来自代理IP的邮件。在rcpt ACL中放入以下内容:

deny message = quit trying to bypass DNS
     !hosts = PROXY_IP_ADDRESS
     !authenticated = *