У меня быстрый вопрос относительно записей SPF: должны ли они присутствовать для всех поддоменов?
Допустим, у меня есть запись TXT с информацией SPF для domain.com
Предположим также, что у меня есть отдельный домен электронной почты для subdomain.domain.com.
Будет ли политика / информация SPF для domain.com применяться к субдомену? Или для этого нужно добавить отдельную запись TXT?
У вас должны быть отдельные записи SPF для каждого поддомена, с которого вы хотите отправлять почту.
Следующее было изначально размещено на openspf.org, который раньше был отличным ресурсом для такого рода вещей.
Вопрос демона: А как насчет поддоменов?
Если я получаю письмо с сайта pielovers.demon.co.uk, а данные SPF для пайловеров отсутствуют, следует ли мне вернуться на один уровень назад и протестировать SPF для demon.co.uk? Нет. Каждый поддомен в Demon - это отдельный клиент, и у каждого клиента может быть своя собственная политика. Было бы бессмысленно применять политику Demon ко всем ее клиентам по умолчанию; если Demon захочет это сделать, он может настроить записи SPF для каждого поддомена.
Итак, совет издателям SPF заключается в следующем: вы должны добавить запись SPF для каждого поддомена или имени хоста, имеющего запись A или MX.
Сайты с подстановочными знаками A или MX должны также иметь подстановочную запись SPF в форме: * IN TXT "v = spf1 -all"
В этом есть смысл - субдомен вполне может находиться в другом географическом месте и иметь совершенно другое определение SPF.
Директива include: для SPF может использоваться для предоставления всем поддоменам одинаковых записей. Например, в записи SPF для поддомена mailfrom.example.com введите include: example.com. Таким образом, всякий раз, когда вы обновляете определение для example.com, ваши поддомены будут автоматически получать обновленные значения.
В дополнение к другим ответам, если поддомен создается как запись CNAME, запись SPF - это запись для домена, на который она указывает, например sub.domain.com
является CNAME из otherdomain.com
, SPF, который получит почтовый сервер при поиске mail@sub.domain.com
находится в записи DNS для otherdomain.com
.
На практике это то же самое, если в записи CNAME указано sub.domain.com => othersub.domain.com, поэтому ваша запись TXT должна быть anotherub, а не sub. Это отличается от DKIM, для которого требуется отдельная запись TXT для открытого ключа, даже если ваш поддомен является CNAME.
Но обратите внимание, как говорится в часто задаваемых вопросах, на которые есть ссылка в принятом ответе, что вы можете использовать SPF с подстановочными знаками для домена для записей A или MX с подстановочными знаками. У меня есть домены MX с подстановочными знаками, и это работает для меня:
*.mydomain.org. 3600 IN TXT "v=spf1 ip4:IPADDR -all"
с IPADDR, замененным на ваш IP-адрес / диапазон.
Нет, но их можно замкнуть include:maindomain.invalid
директива.
*.mydomain.org. 3600 IN TXT "v=spf1 ip4:IPADDR -all"
как написано выше, не работает, если спамер использует поддомен, который уже находится в dDNS. Например, www.domain.com A В этом случае запись A предшествует подстановочному знаку.
Имейте в виду, что оператор include включает только A-записи из указанного домена, но не поддомены. Таким образом, он не собирает A-записи из поддоменов и поэтому работает только тогда, когда все поддомены находятся на одном сервере или отправляются с одного сервера.