这篇文章翻译自 FastMail 官方博客 原文:https://blog.fastmail.com/2016/12/24/spf-dkim-dmarc/ 这是第二十四篇也是 2016 FastMail Advent Calendar 系列的最后一篇文章。谢谢大家阅读也一如既往地感谢大家使用 FastMail ! 看看这封邮件是从谁发给谁的呢? From: PayPal <service@paypal.com.au> To: Rob Mueller <robm@fastmail.fm> Subject: Receipt for your donation to Wikimedia Foundation, Inc. 事实上,这些邮件头根本没有告诉你这封邮件真正地是从哪儿发到哪儿的。主要有两个彼此分开的电子邮件标准。RFC5322(旧版RFC822/RFC2822)规定了电子邮件格式,包括邮件头比如 发件人/收件人/邮件标题 和电子邮件正文。然而,它并没有规定电子邮件如何在不同的电子邮件系统之间传递。RFC5321(旧版RFC821/RFC2821)中规定了 简单邮件传输协议(SMTP),它详细地规定了电子邮件在不同系统之间的传递方式。 这种标准分开设计的结果是:邮件消息的格式不需要和邮件的发件人或收件人有任何关系。意思是,你在电子邮件中看到的 发件人/收件人/抄送 这些邮件头也许和这封邮件在 SMTP 传递过程中使用的真正的发件人或者真正的收件人没有关系。 当电子邮件标准制定的时候,互联网是一些人们互相之间认识的一些大学的计算机组成的网络。标准制定的假定情况是邮件用户和其他发送者是互信的。 所以,发件人 字段应该就是这个电子邮件地址的主人。当你要指定收件人的时候,收件人地址应该写在收件人字段并且以 SMTP 为协议发送给收件人(通过 SMTP 的 RCPT TO 命令)。这种分离邮件格式和传递也允许类似秘送(Bcc, blind carbon copy)。任何秘送字段中的地址将不会出现在邮件头中,但是SMTP可以用来把邮件发送到正确地目的地。 随着时间的推移,这种互信的友善的网络环境变得越来越不那么可信了。我们现在的网络环境更多的是恶意和不可信的。我们现在迫切需要保护我们的系统远离垃圾邮件和钓鱼邮件的侵害,因为他们大多数都是为了欺诈用户。 从使用 实时黑名单 (RBLs Realtime Blackhole Lists)判断已知的垃圾邮件发送服务器到邮件内容分析确定是否为垃圾邮件,已有多种层次的垃圾邮件控制手段。在这里,我们将讨论主流的反垃圾邮件技术。 SPF 反欺诈邮件最早期的一个成果是 SPF(Sender Policy Framework 发送方策略框架),SPF 的主导思想是指定通过域名的邮件发送方,通过 DNS 记录来指明特定的域名允许发送邮件的服务器。比如,只允许服务器 x,y和z 发送 @fastmail.