Письма с форм обратной связи не доходят

Задача. Отправлять письма с помощью PHPMailer с хостинга рег.ру, да так, чтобы эти письма не уходили в спам, а проходили проверки SPF, DKIM и DMARK. Это нужно, для того, чтобы письма отправленные php-скриптами надежно и без сюрпризов доходили до адресатов.

Задача усложняется тем, что днс-сервера смотрят на cloudflare, а сама почта (mx-запись) настроена на яндекс.

Хостинг от рег.ру  — очень удобная штука.

Хотя бы потому, что не надо администрировать VDS. А еще он сразу идет с панелью управления Ispmanager, за которую не надо дополнительно платить 390 руб в месяц. А еще на хостинге организована система резервного копирования. Это, конечно, не отменяет того, что нужно хранить резервные копии и на своем компьютере.

Решение

Первый важный шаг, заходим в ispmanager в раздел «Сайты» и нажимаем изменить. В качестве email администратора должен стоять электронный адрес в домене отправителя письма, и который нам и принадлежит:

настройка e-mail администратора на хостинге рег.ру в панели ispmanager

Указанный электронный адрес действительно существовать,   хотя бы в качестве алиаса. Этот же адрес мы указываем в своих скриптах в поле From.

Следующий шаг – создание почтового домена в ispmanager.

Обязательно включаем галки в полях «Включить DKIM для домена» и «Включить DMARC» для домена.

Настройка почтового домена в ispmanager

Дальше нужно отредактировать файл php.ini, указав в нем всё тот же почтовый адрес, который будет использоваться в качестве отправителя:

sendmail_path = "/usr/sbin/sendmail -t -i -f info@desha.ru"

Этот файл может именоваться и как site.ini, расположен в папке с выбранной вами версией php, скорее всего для его редактирования вам нужно будет изменить права доступа к файлу.

Если у вас днс на серверах рег.ру, то на этом всё. Но у нас Cloudflare, и там нужно добавить днс-записи. Поэтому возникает еще один шаг — копирование данных в Cloudflare.

Идем в Ispmanager в «Управление DNS», «Управлять DNS записями». Переносим TXT-записи с именами вида dkim._domainkey.desha.ru. и _dmarc.desha.ru. в Cloudflare.

Просмотр DKIM записи в ipsmanager

Дальше нужно создать SPF запись. Ее не следует переносить копированием, как предыдущие две записи, если у вас MX смотрят на сторонний почтовый сервис, вам нужно в этой записи оставить IP адрес сервера хостинга рег.ру и через include добавить данные вашего почтового провайдера. У меня получилось примерно так:

v=spf1 ip4:31.31.196.95 include:_spf.yandex.net ~all

Чтобы записи вступили в действие нужно немного подождать. Однако, результат стоил всех наших усилий:

Исходный код электронного письма с успешными проверками SPF, DKIM, DMARC

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back to Top