Я хочу обновить и упростить запись SPF моего домена. К сожалению, http://www.openspf.org/SPF_Record_Syntax неясно.
В моем домене для приема и отправки используется одно реле MX. Тогда правило SPF так же просто, как это v=spf1 mx -all
. Это запретит отправку писем из любых других источников.
У меня проблема в том, что один пользователь использует своего провайдера (belgacom.be) для ретрансляции исходящей почты. Текущее правило SPF провайдера следующее: v=spf1 mx include:ispmail.spf.secure-mail.be include:bgc.spf.secure-mail.be include:bgcpartners.spf.secure-mail.be ~all
Я хочу определить свое правило SPF как v=spf1 mx include:belgacom.be -all
, но неясно, что ~all
во включенном правиле SPF подойдет. Правила, включенные в правило belgacom.be, также имеют ~all
. Будет ли ~all
во включенных правилах будет считаться совпадением и будет ли мой -all
игнорировать?
редактировать: Нашел инструмент для тестирования http://www.kitterman.com/spf/validate.html. Добавив include:belgacom.be
я получил Permanent Error SPF Permanent Error: Too many DNS lookups
. Вопрос о включенном ~all
остается открытым.
В include
Механизм в SPF немного ошибочен, поскольку фактически не включает содержимое указанной записи в основную запись.
Вместо этого указанная запись оценивается отдельно, а ее pass
/fail
результат интерпретируется как include
будучи match
или not match
(больше никогда pass
/fail
!).
(См. Таблицу преобразования в include
раздел спецификации SPF на все случаи.)
Таким образом, как и для других механизмов, это необязательный префикс квалификатора (по умолчанию +
) к include
который определяет, что на самом деле означает совпадение механизма.
Простой не-include
пример:
ip4:192.0.2.1
(он же +ip4:192.0.2.1
) означает, что если IPv4-адрес клиента 192.0.2.1
, то результат pass
.
-ip:192.0.2.1
означает, что если IPv4-адрес клиента 192.0.2.1
, то результат fail
.
include
пример:
include:foo.example.com
(он же +include:foo.example.com
) означает, что если оценка записи SPF на foo.example.com
привело к pass
, это означает, что include
является совпадением, поэтому результат устанавливается в соответствии с квалификатором этого include
, следовательно pass
.-include:foo.example.com
означает, что если оценка записи SPF на foo.example.com
привело к pass
, это означает, что включение является совпадением, поэтому результат устанавливается в соответствии с квалификатором этого include
, следовательно fail
.