Почему не приходят письма с сайта?
Артем, Москва 0
Форма обратной связи на сайте отправляется без ошибок, скрипт пишет "Спасибо, заявка отправлена", а письмо на почту так и не приходит. Папку "Спам" уже проверил - пусто. В поддержке хостинга говорят, что на их стороне всё в порядке. Где тогда искать проблему?
Дмитрий Акиндинов технический администратор сайтов
ответил
Чаще всего письма теряются из-за стандартной функции PHP mail(): многие хостинги её либо блокируют, либо отправляют с адреса, технически не привязанного к вашему домену, и почтовые серверы вроде Яндекса и Gmail молча отбрасывают такие письма как подозрительные, даже не отправляя в спам. Решение — настроить отправку через SMTP с авторизацией вместо mail().
Практически это делается плагином (для WordPress подойдёт WP Mail SMTP) с реальными данными почтового ящика: логин, пароль, SMTP-сервер и порт от Яндекс 360, Mail.ru или почты на самом хостинге. После настройки письма уходят от имени настоящего ящика, а не анонимно.
Второй момент — записи SPF и DKIM в DNS домена. Без них даже правильно отправленное письмо иногда помечается как подозрительное или вовсе отклоняется принимающим сервером, потому что тот не может подтвердить, что письмо действительно отправлено от вашего домена, а не подделано. Проверить записи можно через любой онлайн DNS-чекер по названию домена.
Ещё стоит убедиться, что адрес в поле «От кого» в форме реально существует и совпадает с доменом сайта, а не выдуман вроде noreply@ без соответствующего почтового ящика.
Быстрый тест: отправьте письмо вручную из почтового клиента с тем же адресом отправителя, что использует форма. Если оно дойдёт, значит дело именно в настройке отправки на сайте, а не в почтовом сервере получателя.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.