Ошибка доставки почты (отсутствует SPF запись в DNS)
На прошлой неделе ко мне обратился пользователь с проблемой доставки электронного письма определённому адресату. При этом мне показали отчёт с ошибкой о доставке, которое пришло в ответ. Честно сказать, с таким я пока ещё не сталкивался. Сам текст сообщения далее… |
Вот выдержка из “диагностических сведений для администраторов”:
user@recipient.ru #< #5.7.1 smtp;550 5.7.1 TRANSPORT.RULES.RejectMessage; the message was rejected by organization policy> #SMTP# Исходные заголовки сообщения: Authentication-Results: spf=none (sender IP is 12.34.56.789) smtp.mailfrom=sender.ru; recipient.ru; dkim=none (message not signed) header.d=none;recipient.ru; dmarc=none action=none header.from=sender.ru; Received-SPF: None (protection.outlook.com: sender.ru does not designate permitted sender hosts)
где:
user@recipient.ru — получатель письма,
sender.ru — мой домен,
recipient.ru — домен получателя,
12.34.56.789 — ip адрес моего MX сервера mail.sender.ru.
Как оказалось, почта того адресата хостится на серверах Microsoft (это стало понятно по указанному в сообщении-ответе доменному имени outlook.com), на которых включена своеобразная политика проверки отправителя почты соответствия MX записи в публичном DNS записи SPF (Sender Policy Framework) в том же DNS. Данная политика служит уменьшению спама в потоке почты. Из вики:
SPF позволяет владельцу домена, в TXT-записи, соответствующей имени домена, указать список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.
То есть, мне, как администратору, необходимо во внешнем DNS сделать соответствующую SPF запись, в которой следует прописать так называемый Sender ID Framework. Данный ID и будет верифицироваться почтовыми серверами получателями наших писем. Как это работает?
- пользователь отсылает почту адресату;
- почтовый сервер получателя принимает письмо и активирует механизм проверки Sender ID Framework;
- этот механизм анализирует SPF запись в DNS для сервера отправителя;
- на основе этого почтовый сервер получателя определяет, разрешено ли отправлять почту с указанного ip-адреса домена, с которого пришло письмо адресату.
В сети Internet на сайте Microsoft существует механизм получения SPF записи для вашего домена. Следует лишь только иметь доступ к редактированию внешнего DNS и внимательно следовать инструкциям, указанным на странице: http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/.
После обработки моего запроса SPF запись для внешнего DNS с Sender ID Framework моего домена выглядел следующим образом:
@ IN TXT "v=spf1 mx ptr:mail.sender.ru mx:mail.sender.ru ip4:12.34.56.789 a:mail.sender.ru -all"
Эту строчку именно в таком виде следует прописать в DNS.
После проделанной работы тот почтовый сервер без ошибок принял и обработал нашу электронную почту.
Интересную статью с примерами нашёл по этой ссылке.
Хорошая статья, спасибо, жаль ссылки нерабочие.