我刚尝试了sendmail
Mail::Sendmail
函数
我看到只要我在localhost上运行SMTP服务器,我就可以从任何域发送带有用户标识的邮件。怎么回事?或者我错过了什么?
例如,我能够通过<myname>@microsoft.com
这样的地址发送电子邮件,并且它确实以相同的方式发送到我的Gmail收件箱中。它甚至没有进入任何垃圾文件夹/
答案 0 :(得分:7)
恭喜:您刚刚发现了email spoofing! :)
SMTP不执行您所暗示的类别的身份验证,例如验证某人是否有权从某个域发送邮件 - 因此任何拥有知道如何运行sendmail
的计算机的人都可以这样做。
大多数反欺骗措施都依赖于域名所有者(例如microsoft.com
)做某事,这些事情相当于验证消息是否真的来自他们。例如,他们可能会列出他们通常发送邮件的每个域名;这大概是Sender Policy Framework所做的。
如果收件人的服务器收到声称来自microsoft.com的邮件,则可以检查该域是否列出了发送邮件的服务器。如果它没有,它可能会增加被评为垃圾邮件的可能性。