Примеры писем:
550 5.7.1 This message was not accepted due to domain owner DMARC policy (RFC 7489) https://help.mail.ru/mail-help/postmaster/dmarc
550-5.7.1 Unauthenticated email from mail.ru is not accepted due to domain's
550-5.7.1 DMARC policy. Please contact administrator of mail.ru domain if this
550-5.7.1 was a legitimate mail. Please visit
550-5.7.1 https://support.google.com/mail/answer/2451690 to learn about DMARC
... 550 5.7.1 Email rejected per DMARC policy for ...
Проблема с доставкой сообщений связана с применением новой политики DMARC, связанной с ужесточением правил прохождения спам фильтров.
DMARC — это протокол защиты от спама и от несанкционированной рассылки почты от имени домена, основанный на существующих механизмах DKIM и SPF. Официальный сайт: dmarc.org.
Если вы получаете подобные приведённым выше сообщения, скорее всего, почта с сайта у вас отправляется от имени почтового ящика на базе @mail.ru, @bk.ru, @list.ru или @inbox.ru. Mail.Ru не принимает сообщения, отправленные через phpmail, если в почтовых заголовках числится ящик, принадлежащий mail.ru. Такие сообщения, согласно внедрённой Mail.Ru политике DMARC, отклоняются.
Как решить проблему
Решить проблему можно двумя способами:
Способ 1: изменить ящик, с которого отправляются сообщения
Обычно e-mail, от имени которого рассылаются почтовые сообщения, прописывается в административной части CMS. Также его можно изменить напрямую в скрипте, рассылающем сообщения (поле «From»).
Необходимо, чтобы сообщения рассылались с ящика на базе вашего доменного имени, например «webmaster@domain.ru», где domain.ru — ваш домен. При этом должна быть корректно настроена SPF-запись: Как настроить SPF-запись?
Также, почтовый ящик необходимо изменить в файле php.ini:
Изменение ящика в php.ini
- 1 войдите в панель управления хостингом и откройте на редактирование файл php.ini: Как изменить параметры PHP;
-
2
найдите строку вида:
sendmail_path = "/usr/sbin/sendmail -t -i -f e-mail@mail.ru"
В данной строке вместо «e-mail@mail.ru» укажите почтовый ящик, не относящийся к доменам @mail.ru, @bk.ru, @list.ru и @inbox.ru.
Желательно указать почтовый ящик на вашем домене, например, «webmaster@domain.ru», где domain.ru — ваш домен.Кроме этого, прописанный в php.ini почтовый ящик должен существовать. Если вы пользуетесь почтой на хостинге, создайте почтовый ящик на домене по инструкции и пропишите его в файле php.ini.
Способ 2: использовать SMTP-авторизацию
Вы можете рассылать сообщения от имени вашего почтового ящика на базе Mail.Ru, настроив SMTP-авторизацию. В этом случае все сообщения через ваш сайт будут отправлять напрямую с серверов Mail.Ru.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊