将标头添加到通过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 = *