В данной статье мы рассмотрим наиболее распространённые причины, по которым может не работать отправка почты на виртуальном хостинге, например из форм обратной связи.
Если письмо отмечено, как спам
Первым делом, если письмо не пришло — необходимо проверить папку «Спам». Возможно почтовый сервис пометил Ваше письмо как «Спам», например из-за слишком частых почтовых рассылок, либо если Ваши получатели часто помечают Ваши письма как «Спам».
В случае если письмо всё же попало в папку «Спам», мы рекомендуем Вам подключить SPF, DKIM и DMARC подписи, они значительно увеличат уровень доверия почтовых сервисов к Вашему письмам, что в дальнейшем значительно снизит вероятность попадания Ваших писем в «Спам». Также Вы можете подключить для Вашего почтового ящика SSL сертификат безопасности, что также повысит шансы попадания Вашего письма в папку «Входящее» при проверке его принимающим почтовым сервисом.
Если же письма в папке «Спам» нет, необходимо проверить правильно ли настроен сам скрипт отправки, в случае если Вы отправляете почту через функцию «mail», то Вы должны учитывать, что сам php скрипт не отправляет почту, отправка в данном случае будет осуществляться почтовым сервером нашего хостинга.
Настройка почты на виртуальном хостинге
1. Для проверки работоспособности функции mail, Вы можете создать в корневом каталоге Вашего домена PHP файл с названием например mail.php и добавить в него следующий код:
<?php
print mail("name@my.ru","header","text");
?>
После этого откройте браузер и перейдите на Ваш сайт, добавив к его домену /mail.php. Например: http://u123456.test-handyhost.ru/mail.php. В результате на странице Вы должны увидеть цифру «1» в левом верхнем углу. Она будет означать что функция mail на сервере работает корректно.
Также, особое внимание следует уделить всем почтовым заголовкам, особенно заголовку «From» (Откуда отправляется письмо). Почтовый ящик, указанный в данной строке должен отличаться от почтового ящика получателя «To». Как правило в строке «From» должен указываться почтовый ящик на домене сайта, он должен существовать.
2. Следующее, что стоит проверить — это MX записи. По умолчанию на нашем хостинге значение MX-записи должно быть равно примерно следующему значению: «mail.u123456.test-handyhost.ru.», где u123456.test-handyhost.ru — это имя Вашего домена.
3. Если Вы используете наши MX-записи, доменный почтовый ящик должен быть создан у нас. Если же Вы пользуетесь, например, доменной почтой на яндексе, то необходимо сменить MX-записи на записи яндекса. Если же Ваш сайт отправляет почту при помощи SMTP-сервера, переходите к проверке SMTP настроек уже в настройках Вашего сайта. Все необходимые значения Вы можете посмотреть в панели управления хостингом, в разделе «Почта» — «Почтовые ящики», кнопка «Настройки».
4. Вам необходимо проверить следующие данные Вашего почтового ящика: «Имя сервера входящей/исходящей почты», SMTP порт, а так же логин и пароль от этого почтового ящика и затем сравнить эти данные с теми, которые Вы указали в настройках вашей формы отправки, в настройках Вашего сайта. Если к Вашему почтовому ящику не подключен сертификат безопасности, то порт необходимо указывать «25», в случае же с подключенным SSL-сертификатом безопасности для Вашего почтового ящика — порт будет «465».