Não há problema em ter vários registros TXT para um único domínio contendo entradas diferentes de SPF?

17

Um domínio de destinatário remoto está rejeitando e-mails com base no SPF e acho que é porque o remetente tem o SPF configurado incorretamente.

Quando eu corro, vejo:

[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

Esta é uma configuração válida? Parece estranho para mim que existam dois registros separados (cada um com falhas difíceis). Não deveria estar tudo em um único registro?

Espero que o registro TXT correto seja:

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

    
por Mike B 07.01.2014 / 18:51

2 respostas

20

Não. Você está certo. Veja RFC 4408, seção 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".

    
por 07.01.2014 / 18:59
4

Esta configuração do SPF não é válida. Caso haja vários registros encontrados, a seleção do registro deve produzir um erro como resultado. Veja RFC 7208, seção 4.5 sobre como selecionar registros:

If the resultant record set includes more than one record, check_host() produces the "permerror" result.

    
por 06.10.2016 / 18:42