Как создать запись SPF для mail.example.com
случая, когда почта для домена отправляется из двух мест:
Почтовый сервер, расположенный по публичному IP-адресу,
198.51.100.111
также известному какmail.example.com
.Веб-сервер, расположенный по публичному IP-адресу
203.0.113.222
.
решение1
Было бы легко сказать, что просто добавьте оба адреса в запись:
"v=spf1 +ip4:198.51.100.111 +ip4:203.0.113.222 ~all"
...но это еще не все.
- Вы, вероятно, не отправляете почту с
mail.example.com
помощьюотправитель конверта, ноexample.com
, что отмечает, где должна быть эта политика, разрешающая оба варианта. - Имена хостов HELO также можно и нужно защищать с помощью SPF.
- Вам следует опубликовать запись SPF для каждой записи A. В противном случае ваши поддомены могут быть использованы в качестве отправителя конверта.
Более подробно они описаны вэтот ответ.
Итак, если у вас есть, например,
example.com. IN A 203.0.113.222
www.example.com. IN A 203.0.113.222
mail.example.com. IN A 198.51.100.111
example.com. IN MX mail.example.com.
Ваши записи SPF могут выглядеть следующим образом:
example.com. IN TXT "v=spf1 +ip4:198.51.100.111 +ip4:203.0.113.222 ~all"
www.example.com. IN TXT "v=spf1 +a ~all"
mail.example.com. IN TXT "v=spf1 +a ~all"
Хотя ip4
механизм уменьшает количество DNS-запросов, вы ненуждатьсячтобы использовать его:
example.com. IN TXT "v=spf1 +mx +a ~all"
Здесь mx
расширяется до ip4:198.51.100.111
& a
до ip4:203.0.113.222
.
Тымогзамените ~all
(мягкий провал) на -all
(жесткий провал). Однако, например, Фредди ЛиманЛучшие практики SPF/DKIM/DMARC 2023 г.предлагает использовать мягкие отказы по веской причине:
Использование
~all
(softfail) вместо-all
(fail) является наилучшей практикой, поскольку последнее может привести к тому, что принимающие серверы заблокируют сообщение при передаче SMTP вместо оценки возможных подписей DKIM и политик DMARC.