在电子邮件欺骗方面,我面临着validation电子邮件中“发件人:”消息字段的问题。 我目前正在使用SPF和DKIM来validation消息的来源和完整性,但是据我所知,SPF只validation“Return-Path”头,它不以任何方式显示给最终用户(通过roundcube或雷鸟)和DKIM只允许数字签名的信息,并确保发件人真的是他声称是。 我也试图深入研究DMARC,但是这一个显然只允许将源自域外的未签名邮件视为垃圾邮件(这很好),但目前仅被大邮件提供商(Gmail,Yahoo)使用,
当某人(例如一些免费共享主机的拥有者)决定运行这个简单的PHP脚本时,这些function都不能保护自己
<?php $headers = "From: [email protected]".PHP_EOL."Reply-To: [email protected]".PHP_EOL."Content-type: text/plain; charset=iso-8859-2"; if(mail('[email protected]', 'Hello', 'Test spam function', $headers)) { echo 'Message sent'; }
在Gmail中,您至less可以看到标题(不是警告),而是说“[email protected] via”,但如果您使用的是ex。 雷鸟连接通过IMAP / POP3你没有看到任何这样的事情 – 唯一的方法来检测骗局是直接查看原始邮件标题。 这意味着即使在Gmail中也没有保护这种简单的欺骗
如果例如SFP除“返回path”之外还将validation“From:”字段,则可以容易地避免IMO。
因此,我想知道是否有任何插件的Postfix / Amavisd,将允许这样的欺骗过滤? 或者,也许我误解了一些这些技术(SPF / DKIM / DMARC),其中一个可以防止这种欺骗?
From:-header与返回path:-header不匹配可能有相当合理的原因。 一个例子是邮件列表 – 返回path应该是列表服务器(它将pipe理反弹,以便从列表中删除不良地址),而From:标题应该来自实际发送邮件的人。 所以你可能不想放弃两个标题不同意的邮件。
在回答你关于一个插件的问题时,我会推荐SpamAssassin,它可以和Postfix / Amavisd结合使用。 它将执行一系列testing并将testing分数加在一起,以确定电子邮件是否为垃圾邮件。