Введение

Английская версия статьи

SPF и DKIM в целом похожие технологии, и выполняют схожую задачу - подтверждают валидность сервера отправителя. Работают они через записи на DNS сервера. Принцип работы очень простой:

  1. Сервер получателя получает письмо с адреса info@company.com, с сервера mta.mindbox.ru
  2. Сервер получателя делает запрос к DNS для домена company.com и ищет записи SPF и DKIM
  3. В случае если записей нет, письму проставляется статус neutral (конкретно по этим проверкам) и письмо проверяется дополнительными фильтрами.
  4. В случае если записи обнаружены, проверяется, разрешено ли серверу mta.mindbox.ru отправлять почту домена company.com
  5. Если mta.mindbox.ru не найден в списке разрешенных, то письмо или отбрасывается, или проставляется статус neutral
  6. Если mta.mindbox.ru найден в списке разрешенных, письму проставляется статус pass и повышается рейтинг письма при прохождении других фильтров.

Выглядят записи в DNS вот так:


Важно! Домен второго уровня для DKIM проставляется автоматически!

Например, если ключ добавляется для домена company.com, то запись должна быть вида mindbox._domainkey, а если для домена mail.company.com, то запись должна быть mindbox._domainkey.mail

Настройка SPF записей

Вся настройка SPF сводится к тому, чтобы создать специальную TXT запись в DNS, в которой указать, с каких серверов разрешено отправлять почту для этого домена. 

Если у Вас нет SPF записи, нужно ее создать на днс-сервере домена отправителя:

Эти записи говорят о том, что почту с этого домена могут отправлять основные сервера домена (a mx ptr) а также все серверы из SPF записи домена mindbox.ru (include:spf.mindbox.ru) - мы поддерживаем список наших серверов актуальным, и Вам нет необходимости в последствии изменять эти записи. ?all говорит о том, что с других серверов тоже можно отправлять почту с этого домена (просто она получит статус neutral, а не pass).

Если записи у Вас уже есть, нужно просто добавить туда include:spf.mindbox.ru

Если используется Sender ID, в него также нужно добавить include:spf.mindbox.ru

Проверка SPF записей

Обновление днс записей обычно занимает от 30 минут до 4 часов - стоит подождать некоторое время, чтобы записи успели обновиться.

Затем идем сюда и вбиваем доменное имя, для которого Вы прописали записи. Жмем SPF Record Lookup.

Если все правильно, Вы увидите что-то похожее на эту картинку

Если Вы видите пустое окно - значит либо Вы что-то неправильно прописали, либо днс записи еще не обновились.

Вторым шагом проверки является отправка письма с доверенного сервера (который вы внесли в SPF, например, с нашего) на ящик на Gmail. Нужно открыть полученное письмо, в меню выбрать "Показать оригинал"

Там нужно найти строчку Received-SPF: pass - значит все правильно.

Если стоит failed или neutral - значит что-то прописано неправильно, и гугл не доверяет серверу, с которого было отправлено письмо.

Учтите, что mxtoolbox игнорирует наличие переносов в записи.
Для дополнительной проверки используйте сервисы https://2ip.ru/dig/ (выбираем тип TXT) или http://www.mail-tester.com/spf-dkim-check

Настройка DKIM

Настройка DKIM немного сложнее, так как предварительно нужно сгенерировать ключи для подписи сообщений. Для Вас это сделает ваш менеджер.

  1. Ваш менеджер отправляет соответствующие записи для добавления в DNS.
  2. Полученные записи нужно внести на днс-сервере (аналогично SPF записям).Первая запись говорит о том, что не вся почта домена подписывается. t=y; - указывать не надо, это для тестового режима. Вторая запись содержит публичный ключ.

ВАЖНО: ключ должен быть одной строкой - если есть переносы строк, ключ нужно скопировать в блокнот и убрать их, чтобы получилась одна длинная строка - именно ее нужно вносить в днс.

Проверка DKIM

  1. Идем по ссылке http://www.mail-tester.com/spf-dkim-check
  2. Вводим доменное имя в соответствующее поле и mindbox в после "Выбор DKIM" (оно же Selector), жмем "Проверить SPF и DKIM записи"

Если все настройки правильные, то мы увидим их на странице: 

Также для проверки DKIM можно отправить письмо на Gmail, открыть оригинал

И найти dkim=pass - это значит что все настроено правильно. Если нет, проверьте что есть запись DKIM-Signature: v=1; ... - если есть, значит неправильная подпись. Если нет - значит сообщения вообще не подписываются.
Если при попытке отправить письмо на mail.ru получаете ошибку вида dkim=invalid reason=pubkey_syntax, проверьте опубликованную запись DKIM на наличие пробелов.

Настройка DMARC

Настраивать запись DMARC можно только после того, как у вас уже есть корректно настроенные записи SPF и DKIM, так как технология DMARC использует для проверки одну (любую) из описанных выше.

Аналогично предыдущим, запись DMARC – это запись типа TXT. Чтобы создать её, нужно добавить в ДНС:

Имя записи: _dmarc.company.com

Значение (TXT): v=DMARC1; p=none

Проверка DMARC

Для проверки нужно пройти по ссылке https://mxtoolbox.com/dmarc.aspx и ввести в поле поиска почтовый домен клиента.

Если запись настроена, детали должны отобразиться на странице в развёрнутом виде:

Отправив письмо на адрес Gmail, открыть оригинал

И найти в заголовках проверку DMARC:

Вы нашли ответ?