Skip to main content

1. 引言

当前的电子邮件基础设施具有以下特性:向系统注入邮件的任何主机都可以在[RFC5321]和[RFC5322]指定的各种标识符中使用任何它想要的DNS域名。尽管这一特性在某些情况下是可取的,但它是减少未经请求的批量电子邮件(UBE,也称为垃圾邮件)的主要障碍。此外,管理域(ADMDs,如[RFC5598]中所述)理所当然地担心其他实体使用其域名的便利性,这些实体通常具有恶意意图。

本文档定义了一个协议,通过该协议,ADMDs可以授权主机在"MAIL FROM"或"HELO"身份中使用其域名。符合要求的ADMDs在DNS中发布发件人策略框架(SPF)记录,指定哪些主机被允许使用其名称,符合要求的邮件接收者使用发布的SPF记录来测试在邮件事务期间使用给定"HELO"或"MAIL FROM"身份的发送邮件传输代理(MTA)的授权。

对于邮件接收者的一个额外好处是,在验证了身份的使用之后,可以根据发件人的域而不是主机的IP地址做出关于邮件的本地策略决策。这是有利的,因为域名的声誉可能比主机IP地址的声誉更准确,因为域在更长时间内可能更稳定。此外,如果声称的身份未能通过验证,本地策略可以对此类电子邮件采取更强的行动,例如拒绝它。

1.1. 术语

1.1.1. 关键词

本文档中的关键词"MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"NOT RECOMMENDED"、"MAY"和"OPTIONAL"应按照[RFC2119]中的描述进行解释。

1.1.2. 导入的定义

ABNF(增强巴科斯-瑙尔范式)ABNF在[RFC5234]中定义,标记"ALPHA"、"DIGIT"和"SP"(空格)也是如此。

标记"Local-part"、"Domain"和"Mailbox"在[RFC5321]中定义。

"dot-atom"、"quoted-string"、"comment"、"CFWS"(注释折叠空白)、"FWS"(折叠空白)和"CRLF"(回车/换行)在[RFC5322]中定义。

1.1.3. MAIL FROM定义

本文档关注邮件消息发件人的身份,如[RFC5321]中所述:

事务从给出发件人标识的MAIL命令开始。

由于此身份有许多其他名称,因此选择一个满足以下条件的名称很重要:

  1. 常用
  2. 定义明确

因此,在本文档中将使用术语"MAIL FROM",它被定义为[RFC5598]中描述的RFC5321.MailFrom(反向路径)身份。

1.1.4. HELO定义

本文档还使用HELO/EHLO身份。"HELO"身份源自SMTP HELO或EHLO命令(参见[RFC5321])。由于HELO和EHLO在许多情况下可以互换使用,因此在本文档中通常将它们标识为"HELO"。这意味着[RFC5598]中定义的RFC5321.HELO/.EHLO。这些命令提供SMTP会话的SMTP客户端(发送主机)的身份。

1.2. check_host()

第4节介绍了一种算法,用于根据到达的电子邮件事务评估SPF策略。在早期实现中,该算法被编码在一个名为check_host()的函数中。该名称在本文档中用作SPF评估算法的符号,但当然实现者不需要使用此名称。