Назад | Перейти на главную страницу

Можно ли иметь несколько записей TXT для одного домена, содержащих разные записи SPF?

Домен удаленного получателя отклоняет почту на основании 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, раздел 4.5.

  1. Записи, которые не начинаются с раздела версии точно "v = spf1", отбрасываются. Обратите внимание, что раздел версии заканчивается либо символом SP, либо концом записи. Запись с разделом версии "v = spf10" не соответствует и должна быть удалена.

  2. Если в наборе есть записи типа SPF, то все записи типа TXT отбрасываются.

    После вышеуказанных шагов должна остаться ровно одна запись, и можно будет продолжить оценку. Если осталось две или более записей, check_host () немедленно завершает работу с результатом «PermError».

    Если совпадающие записи не возвращаются, клиент SPF ДОЛЖЕН предполагать, что домен не делает никаких объявлений SPF. Обработка SPF ДОЛЖНА прекратиться и
    верните «Нет».

Эта настройка SPF недействительна. Если найдено несколько записей, выбор записи должен привести к ошибке. Видеть RFC 7208, раздел 4.5 по отбору записей:

Если результирующий набор записей включает более одной записи, check_host () выдает результат "permerror".