接收邮件服务器在分析一封发来的邮件的SPF结果时,可以产生如下几种结果
(原文链接 http://ddbiz.com/?p=127)
SPF判定 | 结果 | SPF解释 | 接收方动作 |
None | 无 | 发送方没有提供SPF记录,或者发送方的domain是无效的(或者说最起码是不可查询的)。因此接收方将无法确定对方的身份。 | 自行定义 |
Neutral | 中立 | 发送方已经明确声明:“我们不能或者说不想判定这个IP地址是否验证过的。” | 自行定义 |
Pass | 通过 | 发送方已经确认,此邮件发送合法有效 | 可以应用其他规则 |
Fail | 失败 | 发送方明确声明此邮件的发送者无效 | 可以拒绝此邮件,或者为用户标注此邮件。如果直接拒绝此邮件,接收方应该向发送方返回最少一个550的SMTP回应码,并可以继续提供更详细的信息,比如5.7.1发送状态标识。 |
SoftFail | 软失败 | 接收方已经判定发送方是未经验证的。但是并不想采用“Fail”那样使用直接拒绝的强硬方式 | 接受邮件,并在邮件subject中插入标识性信息。 |
TempError | 临时错误 | 接收方在解析SPF时遇到一个临时性错误 | 可以接受或拒绝此邮件。如果拒绝的话,应该向发送方返回一个451码,并可以跟送一个4.4.3的DNS代码。 |
PermError | 永久性错误 | 发送方的SPF声明格式不正确。 | 可自行定义 |
(以上信息,可以参考 http://trusted-forwarder.org/spf/spf_classic/draft-schlitt-spf-classic-02.html#anchor7)
在Qmail邮件服务器中,可以通过设定SPFBEHAVIOR来确定以上的错误发生时,Qmail应该采取的动作(例子可参考《邮件系统之 SPF reject》):
0: 不做SPF检查
1: 仅仅生成 Received-SPF 头,但是不阻止邮件投递
2: 如果DNS检查出现问题,则产生一个 temporary 错误
3: SPF解析错误是拒绝邮件,通常是指 deny
4: SPF解析出现 softfail 时,拒绝邮件
5: SPF解析出现 neutral 时,拒绝邮件
6: SPF解析过程出现任何错误,拒绝邮件