domain-name-system – 对于包含不同SPF条目的单个域,是否可以有多个TXT记录?

远程收件人域名是以SPF为由拒绝邮件,我认为这是因为发件人SPF配置不正确.

当我开掘时,我看到:

[fooadm@box ~]# dig @8.8.8.8 -t TXT foosender.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> @8.8.8.8 -t TXT foosender.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY,status: NOERROR,id: 30608
;; flags: qr rd ra; QUERY: 1,ANSWER: 2,AUTHORITY: 0,ADDITIONAL: 0

;; QUESTION SECTION:
;foosender.com.              IN      TXT

;; ANSWER SECTION:
foosender.com.       14039   IN      TXT     "v=spf1 include:spf.foo1.com -all"
foosender.com.       14039   IN      TXT     "v=spf1 include:_spf.bob.foo2.com -all"

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Jan  7 09:45:38 2014
;; MSG SIZE  rcvd: 146

这是有效的设置吗?我觉得有两个独立的记录(每个记录都有很难).难道不应该只有一个记录吗?

我希望正确的TXT记录是:

v = spf1 include:spf.foo1.com include:_spf.bob.foo2.com -all

解决方法

不,你是对的.见 RFC 4408,section 4.5.
  1. Records that do not begin with a version section of exactly
    “v=spf1” are discarded. Note that the version section is
    terminated either by an SP character or the end of the record. A
    record with a version section of “v=spf10” does not match and must
    be discarded.

  2. If any records of type SPF are in the set,then all records of
    type TXT are discarded.

    After the above steps,there should be exactly one record remaining
    and evaluation can proceed. If there are two or more records remaining,then check_host() exits
    immediately with the result of “PermError”.

    If no matching records are returned,an SPF client MUST assume that the domain makes no SPF declarations. SPF processing MUST stop and return “None”.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些