我收到大量垃圾邮件,发件人伪装成我自己的电子邮件地址,例如[电子邮件保护]
现在,来自我的域名 example.com 的所有电子邮件都是使用特定服务器发送的。如何设置 procmail 过滤器(或其他过滤器)来删除所有声称来自 example.com 但没有通过此特定 SMTP 服务器发送的电子邮件?
或者也许有更好的方法可以使用 SMTP 服务器本身(postfix)来执行此操作。
编辑:垃圾邮件来自多个 SMTP 服务器。我想我只是想要一条规则来说明是否有以下形式的电子邮件[电子邮件保护]并且它不是来自 SMTP 服务器 mail.example.com,那么应该阻止该电子邮件。
编辑:我将选择 SPF 选项,但如果有人可以展示如何使用 procmail 来完成此操作,我也会感兴趣学习这一点。
答案1
SPF、DKIM 旨在阻止此类事情。您可以在 MTA 级别阻止这些邮件,而无需使用 SPF 或 DKIM 接受它们
答案2
如果您知道您只想阻止单个 SMTP 服务器(和单个 IP),我建议使用 iptables 或类似的东西。最好阻止电子邮件被服务器处理。您可以使用如下一行来做到这一点:
iptables -A INPUT -s 71.230.228.47 -j DROP
但请记住,这不会阻止欺骗性的电子邮件。它只会阻止特定服务器(IP)向您发送任何内容。
编辑:啊,显然我真的误读了“特定的 SMTP 服务器”。可以找到另一个使用 procmail 的快速解决方案,就像您建议的那样这里。您可以将 IP 地址放入变量中,然后在 procmail 配方中使用该变量来检查服务器的 IP。这肯定只是“快速修复”解决方案,因为 topdog 关于 SPF 的答案是更强大的解决方案。