Как настроить SMTP-сервер?
Елена, Ростов-на-Дону 0
Здравствуйте. На сайте стоит форма обратной связи, но письма с неё до почты долетают через раз, часть точно падает в спам. Слышала, что дело в настройке SMTP-сервера. Как это исправить?
Дмитрий Акиндинов технический администратор сайтов
ответил
Обычно сайты отправляют почту через встроенную функцию mail(), а она шлёт письма от имени сервера хостинга без авторизации — почтовые службы такое письмо не доверяют и часто отправляют в спам или блокируют вовсе. SMTP-сервер решает это: письмо уходит через настоящий почтовый ящик с логином и паролем, поэтому получатель видит легитимного отправителя.
Для настройки понадобятся четыре параметра от почтового провайдера: адрес SMTP-сервера, порт, логин и пароль от ящика. У Яндекс 360 это smtp.yandex.ru, порт 465 с шифрованием SSL; у Mail.ru для бизнеса — smtp.mail.ru, тот же порт. Для сайта на WordPress проще всего поставить плагин вроде WP Mail SMTP, вписать эти четыре значения в его настройки и отправить тестовое письмо прямо из интерфейса плагина — он сразу покажет, прошла отправка или нет и почему.
Если сайт самописный или на другой CMS, SMTP настраивается в коде через библиотеку PHPMailer — те же четыре параметра передаются ей вместо вызова стандартного mail(). Смотреть логи ошибок сервера тут не всегда полезно: PHP чаще всего скажет, что письмо «отправлено», даже если оно ушло в никуда, потому что функция mail() не проверяет, дошло ли письмо реально.
После настройки стоит отправить пару тестовых заявок с разных ящиков, включая Gmail и корпоративную почту — иногда письмо доходит в один сервис и теряется в другом из-за его собственных спам-фильтров, и это уже вопрос репутации отправляющего адреса, а не настроек SMTP.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.