Письма с форм обратной связи не доходят
Задача. Отправлять письма с помощью PHPMailer с хостинга рег.ру, да так, чтобы эти письма не уходили в спам, а проходили проверки SPF, DKIM и DMARK. Это нужно, для того, чтобы письма отправленные php-скриптами надежно и без сюрпризов доходили до адресатов.
Задача усложняется тем, что днс-сервера смотрят на cloudflare, а сама почта (mx-запись) настроена на яндекс.
Хостинг от рег.ру — очень удобная штука.
Хотя бы потому, что не надо администрировать VDS. А еще он сразу идет с панелью управления Ispmanager, за которую не надо дополнительно платить 390 руб в месяц. А еще на хостинге организована система резервного копирования. Это, конечно, не отменяет того, что нужно хранить резервные копии и на своем компьютере.
Решение
Первый важный шаг, заходим в ispmanager в раздел «Сайты» и нажимаем изменить. В качестве email администратора должен стоять электронный адрес в домене отправителя письма, и который нам и принадлежит:

Указанный электронный адрес действительно существовать, хотя бы в качестве алиаса. Этот же адрес мы указываем в своих скриптах в поле From.
Следующий шаг – создание почтового домена в ispmanager.
Обязательно включаем галки в полях «Включить DKIM для домена» и «Включить DMARC» для домена.

Дальше нужно отредактировать файл 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.

Дальше нужно создать SPF запись. Ее не следует переносить копированием, как предыдущие две записи, если у вас MX смотрят на сторонний почтовый сервис, вам нужно в этой записи оставить IP адрес сервера хостинга рег.ру и через include добавить данные вашего почтового провайдера. У меня получилось примерно так:
v=spf1 ip4:31.31.196.95 include:_spf.yandex.net ~all
Чтобы записи вступили в действие нужно немного подождать. Однако, результат стоил всех наших усилий:
