1. Introduction (引言)
1. Introduction (引言)
当前的电子邮件基础设施具有这样的特性: 任何向系统注入邮件的主机都可以在 [RFC5321] 和 [RFC5322] 指定的各种标识符中使用任何 DNS 域名。虽然这一特性在某些情况下是有利的, 但它是减少未经请求的批量电子邮件(UBE, 也称为垃圾邮件)的主要障碍。此外, ADMD(如 [RFC5598] 中所述)理所当然地担心其他实体可以轻易地使用其域名, 而且往往带有恶意。
本文档定义了一个协议, 通过该协议, ADMD 可以授权主机在 "MAIL FROM" 或 "HELO" 标识中使用其域名。符合标准的 ADMD 在 DNS 中发布发件人策略框架(SPF, Sender Policy Framework)记录, 指定哪些主机被允许使用其名称, 而符合标准的邮件接收方则使用发布的 SPF 记录来测试在邮件事务期间使用给定 "HELO" 或 "MAIL FROM" 标识的发送邮件传输代理(MTA, Mail Transfer Agent)的授权。
对邮件接收方的另一个好处是, 在验证了标识的使用之后, 可以基于发件人的域而不是主机的 IP 地址来制定关于邮件的本地策略决策。这是有利的, 因为域名的声誉可能比主机 IP 地址的声誉更准确, 因为域名在更长时间内可能更稳定。此外, 如果声称的标识验证失败, 本地策略可以对此类电子邮件采取更强硬的行动, 例如拒绝它。
1.1 Terminology (术语)
1.1.1 Key Words (关键词)
本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", 和 "OPTIONAL" 应按 [RFC2119] 中描述的方式解释。
1.1.2 Imported Definitions (导入的定义)
ABNF(增强巴科斯-诺尔范式, Augmented Backus-Naur Form)在 [RFC5234] 中定义, 标记 "ALPHA", "DIGIT", 和 "SP"(空格)也在其中定义。
标记 "Local-part", "Domain", 和 "Mailbox" 在 [RFC5321] 中定义。
"dot-atom", "quoted-string", "comment", "CFWS"(注释折叠空白, comment folded white space), "FWS"(折叠空白, folded white space), 和 "CRLF"(回车换行, carriage-return/line-feed)在 [RFC5322] 中定义。
1.1.3 MAIL FROM Definition (MAIL FROM 定义)
本文档关注邮件发件人的标识, 如 [RFC5321] 中所述:
事务以 MAIL 命令开始, 该命令提供发件人标识。
由于此标识有许多其他名称, 因此选择一个名称是重要的, 该名称应该是:
-
常用的
-
定义明确的
因此, 在本文档中将使用术语 "MAIL FROM", 它被定义为 [RFC5598] 中描述的 RFC5321.MailFrom(反向路径, reverse-path)标识。
1.1.4 HELO Definition (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 评估算法的象征, 但当然实现者不需要使用此名称。