Письма с формы сайта не приходят или падают в спам: как найти причину
Обновлено 10 октября 2026 г. · 9 мин чтения
Форма показывает «Спасибо, мы свяжемся с вами», а письмо так и не приходит. Хуже всего то, что об этом узнают через недели — когда замечают провал в заявках. Разберём, где обычно ломается цепочка «форма → почта», как это проверить за полчаса и как подстраховаться.
Сначала определите, где теряется заявка
У цепочки три звена: форма отправляет данные на сервер, сервер формирует и отправляет письмо, почтовый сервис получателя принимает его во «Входящие». Проверяйте по порядку.
- Отправьте тестовую заявку и посмотрите, что ответила форма. Ошибка на странице или в консоли браузера — проблема в самой форме.
- Проверьте журнал отправки почты: в WordPress его ведут плагины SMTP, на хостинге — журнал почты в панели. Нет записи — письмо даже не уходило.
- Письмо ушло, но не пришло — смотрите «Спам», затем заголовки письма или отчёт сервиса проверки доставляемости.
Причины на стороне формы
- Кэш страницы. Кэширующий плагин или CDN отдают устаревший защитный токен формы, и сервер отклоняет отправку. Исключите страницы с формами из кэша или используйте формы, которые получают токен динамически.
- Капча. Неверные ключи reCAPTCHA или Яндекс SmartCaptcha, а также ключи от другого домена блокируют отправку, причём иногда без понятной ошибки.
- JavaScript-ошибки. Конфликт скриптов после обновления темы или плагина ломает отправку через AJAX.
- Антиспам-плагины. Слишком строгие правила режут реальные заявки, особенно с короткими сообщениями или ссылками.
Причины на стороне отправки
- Функция mail() без авторизации. Многие хостинги отправляют такие письма без подписи DKIM, а получатели относятся к ним с недоверием. Настройте отправку через SMTP с логином и паролем почтового ящика домена.
- Чужой адрес отправителя. Если в поле «От кого» стоит адрес посетителя или ящик на gmail.com, письмо нарушает политику DMARC этого домена и отклоняется. Отправляйте от адреса своего домена, а адрес посетителя ставьте в Reply-To.
- Лимиты хостинга. На недорогих тарифах ограничено число писем в час; при всплеске заявок часть писем не уйдёт.
- Сломанные настройки после переезда. Сменили хостинг или домен — проверьте, что SMTP-пароль и DNS-записи перенесены.
Причины на стороне получателя: SPF, DKIM, DMARC
Почтовые сервисы проверяют, имеет ли сервер право отправлять письма от имени домена. За это отвечают три DNS-записи.
- SPF — список серверов, которым разрешено отправлять почту домена. Если сайт и почта на разных серверах, в записи должны быть оба.
- DKIM — криптографическая подпись письма. Включается в панели почтового сервиса или хостинга, публичный ключ добавляется в DNS.
- DMARC — политика для писем, не прошедших проверку. Начните с p=none и адреса для отчётов, чтобы увидеть проблемы, не теряя почту.
example.ru. TXT "v=spf1 include:_spf.yandex.net ip4:203.0.113.10 ~all" _dmarc.example.ru. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.ru"
Проверить результат можно в заголовках полученного письма: строка Authentication-Results показывает spf=pass, dkim=pass и dmarc=pass. Любое значение fail — повод исправить DNS.
Как не терять заявки, пока чините почту
Почта — ненадёжный единственный канал для заявок: её доставка зависит от десятка настроек, которые меняются без вашего участия. Надёжнее сохранять заявку в базе в момент отправки формы и дублировать её в мессенджер.
Site-Inbox работает параллельно с почтой: заявка записывается в панель до любых уведомлений, затем уходит в Telegram с повторной отправкой при сбое. Сравните число заявок в панели и в почте за неделю — и вы узнаете, сколько писем терялось.
Частые вопросы
Почему письма с сайта приходят на Яндекс, но не на Gmail?
У сервисов разные фильтры. Gmail строже относится к письмам без DKIM и с нарушением DMARC — настройте подпись и отправку через SMTP своего домена.
Можно ли отправлять письма формы с адреса посетителя?
Нет: такой адрес не принадлежит вашему серверу, и письмо не пройдёт проверку DMARC. Указывайте адрес посетителя в Reply-To.
Как быстро проверить настройку почты?
Отправьте письмо с сайта на сервис проверки доставляемости или на свой ящик и посмотрите заголовок Authentication-Results.
Подстрахуйте формы: заявки сохраняются в панели и приходят в Telegram, даже если письмо не дошло.