Если форма обратной связи на сайте «съедает» заявки и письма не приходят на почту, чаще всего дело не в самой форме, а в том, как сервер сайта отправляет письмо: либо PHP-функция mail() отключена хостингом, либо письмо блокируется как спам, либо неверно указан адрес получателя в коде формы.
Почему письма не доходят
Самая частая причина — использование стандартной функции mail() в PHP. Многие хостинги её ограничивают или требуют настройки SPF/DKIM для домена, иначе почтовые серверы получателя (особенно Gmail и Mail.ru) отправляют письмо в спам или отклоняют его вовсе. Вторая по частоте причина — опечатка в адресе получателя в настройках плагина или скрипта формы. Третья — сама форма технически не отправляется: не срабатывает JavaScript-валидация, не работает antispam/captcha, или обработчик формы (action) указывает на несуществующий файл.
Как проверить, где именно проблема
- Отправьте тестовое сообщение и посмотрите папку «Спам» в почтовом ящике — часто письма просто попадают туда.
- Откройте консоль браузера (F12 → Network) при отправке формы: если запрос уходит с кодом 200, проблема на стороне почты, если с ошибкой 4xx/5xx — проблема в скрипте на сервере.
- Если сайт на WordPress, проверьте, установлен ли плагин SMTP (WP Mail SMTP и подобные) — без него письма часто теряются на хостингах с ограничениями.
- Уточните у хостинг-провайдера, разрешена ли функция mail() и не нужно ли подключать внешний SMTP.
Как настроить надёжную отправку
Самый устойчивый вариант — отказаться от стандартной mail() и настроить отправку через SMTP стороннего почтового сервиса (Яндекс.Почта, Gmail, Mailgun, SendGrid). Для этого потребуется указать в настройках формы или плагина SMTP-сервер, порт, логин и пароль (или пароль приложения). Дополнительно стоит прописать для домена сайта SPF-запись и, если возможно, DKIM — это снижает вероятность попадания писем в спам.
Если форма перестала работать после обновления CMS или темы, проверьте, не изменился ли путь к обработчику формы (action) и не конфликтует ли новый код с плагином отправки почты — иногда после обновления настройки SMTP сбрасываются на дефолтные.