Appendix G. 本地策略考虑 (Local Policy Considerations)
SPF结果可以与其他方法结合使用,以确定消息的最终本地处置(正面或负面)。它也可以单独被视为决定性的。
G.1. SPF Pass 的策略 (Policy for SPF Pass)
SPF "pass"结果可以与已知"良好"域的"白名单"结合使用,以绕过部分或全部附加的预传递电子邮件检查。具体检查哪些以及如何确定适当的白名单条目必须基于本地条件和要求。
G.2. SPF Fail 的策略 (Policy for SPF Fail)
SPF "fail"结果可用于在SMTP事务期间基于"MAIL FROM"或"HELO"身份结果拒绝消息。这减少了各种内容过滤方法的资源需求,并节省了带宽,因为可以在传输SMTP内容之前进行拒绝。它还向发件人提供即时反馈,然后发件人可能能够解决问题。由于本节(附录G)中描述的一些问题,基于SPF的拒绝确实在基于"MAIL FROM"结果拒绝电子邮件时存在拒绝合法电子邮件的一些风险。
SPF "fail"结果也可以用作更大评估集的一个输入,该评估集可能基于SPF "fail"结果与其他评估技术的组合,导致电子邮件以某种方式被负面标记(这可能是通过传递到特殊的垃圾邮件文件夹、修改主题行或其他本地确定的方式)。开发此类方法的细节必须基于本地条件和要求。以这种方式使用SPF结果没有与SMTP拒绝相关的资源节约和向发件人提供即时反馈的优势,但在设计良好的系统中可能产生更少的不良拒绝。这样的方法可能导致未经发送ADMD授权的电子邮件在不知不觉中被传递给最终用户。
两种一般方法都可以使用,因为它们都留下了电子邮件的明确处置;它们要么以某种方式被传递,要么发件人被通知失败。其他处置,例如在接受后"丢弃"或删除电子邮件,是不合适的,因为它们留下不确定性并降低互联网上电子邮件的整体可靠性和实用性。
G.3. SPF Permerror 的策略 (Policy for SPF Permerror)
"permerror"结果(参见第2.6.7节)表明接收器的SPF处理模块确定无法解释检索到的SPF策略记录。这不能真正表明信封中找到的数据的授权使用。
与所有结果一样,实现者必须选择如何处理产生此结果的消息。SMTP只允许几个基本选项。
拒绝消息是一个选项,因为这是接收器可以做的一件事,以引起对遇到的困难的注意,同时保护自己免受没有某种明确SPF结果的消息的影响。但是,如果SPF实现有缺陷并返回虚假的"permerror"结果,则只有发件人会主动收到缺陷通知(以被拒绝的邮件的形式),而不是使用SPF的接收器。
侵入性较小的处理选择是传递消息,可能带有遇到的困难的某种注释和/或类似性质的日志记录。但是,对于希望尽可能严格地实施SPF检查的SPF验证器操作者来说,这不是理想的,这种被动的问题报告通常也不是有效的。
当然,可以选择将这种选择交给SPF验证器操作者而不是实现者,因为这种选择通常是本地策略的问题,而不是具有通用解决方案的条件,但这为已经非平凡的环境增加了一个复杂性。
实现者和SPF验证器操作者在处理SPF结果时都需要谨慎对待所有选择和结果。
G.4. SPF Temperror 的策略 (Policy for SPF Temperror)
"temperror"结果(参见第2.6.6节)表明接收器的SPF处理模块由于(可能的)临时条件而无法检索SPF策略记录。这不能真正表明信封中找到的数据的授权使用。
与所有结果一样,实现者必须选择如何处理产生此结果的消息。SMTP只允许几个基本选项。
延迟消息是一个选项,因为这是接收器可以做的一件事,以引起对遇到的困难的注意,同时保护自己免受没有某种明确SPF结果的消息的影响。但是,如果SPF实现有缺陷并返回虚假的"temperror"结果,则只有发件人会主动收到缺陷通知(以在超时从发送队列后被拒绝的邮件的形式),而不是使用SPF的接收器。
由于队列生命周期长,邮件可能会被反复延迟几天,因此发件人对问题的任何意识可能会相当延迟。如果"temperrors"在多次传递尝试中持续存在,则最好将错误视为永久性的,并减少消息在传输中的时间。
侵入性较小的处理选择是传递消息,可能带有遇到的困难的某种注释和/或类似性质的日志记录。但是,对于希望尽可能严格地实施SPF检查的SPF验证器操作者来说,这不是理想的,这种被动的问题报告通常也不是有效的。
当然,可以选择将这种选择交给SPF验证器操作者而不是实现者,因为这种选择通常是本地策略的问题,而不是具有通用解决方案的条件,但这为已经非平凡的环境增加了一个复杂性。
实现者和SPF验证器操作者在处理SPF结果时都需要谨慎对待所有选择和结果。