Где может потеряться заявка
Между кнопкой «Отправить» и письмом в вашей почте заявка проходит несколько звеньев. Каждое может сломаться отдельно, и посетитель об этом не узнает:
- Браузер. Скрипт формы собирает поля и отправляет их на сервер. Если в скрипте ошибка, данные никуда не уходят — а надпись «Спасибо» иногда всё равно появляется.
- Обработчик на сервере. Принимает данные, проверяет поля, сохраняет заявку (если сохраняет) и запускает отправку письма.
- Отправка письма. Сервер передаёт письмо почтовой системе — функцией
mail()хостинга или через SMTP настоящего почтового ящика. - Получатель. Почтовый сервис принимает письмо, проверяет, можно ли ему доверять, и кладёт во «Входящие», в «Спам» — или отклоняет.
Поэтому первая задача — понять, на каком звене всё обрывается. Ниже — причины в порядке того, как часто мы их встречаем.
9 частых причин
1. Письма уходят через mail() без SMTP
Многие CMS и самописные формы по умолчанию отправляют письма функцией mail() хостинга. Такое письмо не подписано вашим почтовым сервером, и Яндекс, Gmail или Mail.ru всё чаще отправляют его в спам или не принимают вовсе. Надёжнее отправлять через SMTP с авторизацией — от имени ящика на вашем домене или почтового сервиса.
2. В поле «От кого» стоит адрес посетителя
Частая ошибка: письмо с формы приходит «от» email, который ввёл клиент, например с адреса на gmail.com. Сервер сайта не имеет права отправлять письма от чужого домена, и почта получателя такое письмо отклоняет. Правильно: отправитель — ваш адрес на домене сайта, а адрес клиента — в поле «Ответить» (Reply-To).
3. У домена нет SPF, DKIM и DMARC
Это записи в DNS домена, по которым почтовые сервисы проверяют, что письмо действительно отправил ваш сервер. Без них письма с сайта похожи на спам. Если записи есть, но после переезда на другой хостинг или почтовый сервис их не обновили — эффект тот же.
4. Хостинг ограничил отправку
У хостингов есть лимиты на количество писем, а после жалоб на спам отправку могут отключить совсем. Иногда mail() на новом тарифе или сервере просто не настроена. Проверить можно в панели хостинга или в журнале почты, если он доступен.
5. Сменился пароль от почтового ящика
Если форма отправляет письма через SMTP, в настройках сайта хранится пароль от ящика. Поменяли пароль, включили двухфакторную защиту, а почтовый сервис требует отдельный пароль для приложений — и письма перестают уходить в тот же день.
6. Ошибка скрипта формы после обновления
Обновили тему, плагин или подключили новый виджет — и скрипт формы перестал работать. Кнопка нажимается, но запрос на сервер не отправляется. Такие поломки видны в консоли браузера (F12 → «Консоль»).
7. Форма показывает «Спасибо» раньше, чем заявка принята
Некоторые формы показывают благодарность сразу после нажатия, не дожидаясь ответа сервера. Если сервер вернул ошибку, посетитель об этом не узнает и не напишет другим способом. Это не причина потери, но из-за неё потеря остаётся незамеченной.
8. Капча или антиспам отсекают людей
Устаревшие ключи капчи, смена домена или слишком строгий фильтр — и форма отклоняет живых посетителей вместе с ботами. Часто так бывает после переезда сайта на новый адрес.
9. Письмо доходит, но не туда
Опечатка в адресе получателя, переполненный ящик, правило в почте, которое перекладывает письма в папку, или сотрудник, который ушёл, а заявки по-прежнему идут на его адрес. Звучит просто, но проверять стоит в первую очередь — это быстро.
Как проверить за полчаса
- Отправьте тестовую заявку сами — с телефона, не из админки, с реальным адресом почты.
- Проверьте «Спам», все папки и правила фильтрации в ящике получателя.
- Посмотрите, появилась ли заявка в админке сайта или в CRM, если форма их сохраняет. Если заявка есть, а письма нет — проблема в отправке почты. Если нет и заявки — в форме или обработчике.
- Откройте в браузере инструменты разработчика (F12 → «Сеть»), отправьте форму и найдите запрос. Код ответа 200 — сервер ответил, 4xx или 5xx — ошибка на сервере, запроса нет совсем — ошибка в скрипте.
- Если письмо пришло в спам, откройте его оригинал («Показать оригинал» или «Свойства письма») и найдите строки с результатами проверок SPF, DKIM и DMARC.
- Загляните в журнал ошибок сайта и журнал почты на хостинге за время тестовой отправки.
Если клиенты говорят, что оставляли заявку, а у вас её нет, не ждите, пока повторится. Пока причина не найдена, каждая заявка с формы может теряться — поставьте рядом с формой контакт для связи напрямую.
Как устроить форму, чтобы заявки не терялись
Исправить одну причину мало: через полгода сломается что-то другое. Надёжная форма устроена так, чтобы сбой одного звена не означал потерю обращения:
- Сначала сохранить, потом уведомлять. Заявка записывается в базу сайта или CRM, и только после этого уходит письмо или сообщение. Даже если почта не сработала, обращение не пропадёт.
- Успех — только после ответа сервера. Посетитель видит «Заявка принята», когда сервер действительно её принял. При ошибке — понятное сообщение, введённый текст остаётся, рядом другой способ связи.
- Два канала уведомлений. Например, мессенджер и почта: если один недоступен, срабатывает второй.
- Журнал ошибок. Сбой отправки записывается, а не исчезает молча.
- Регулярная проверка. Тестовая заявка раз в неделю или после каждого обновления сайта.
Так устроена и форма на этом сайте: сервер сначала записывает заявку в базу и сразу отвечает посетителю, уведомление в Telegram уходит после ответа, а если Telegram недоступен — приходит письмо на почту.
Частые вопросы
Раньше письма приходили, а теперь нет. Мы ничего не меняли.
Изменения могли произойти вокруг сайта: хостинг обновил PHP или почтовые настройки, почтовый сервис ужесточил проверки, истёк пароль или ключ капчи, обновился плагин. Начните с тестовой заявки и проверки, сохраняется ли она на сайте, — это сразу сузит круг.
Письма приходят, но в спам. Это страшно?
Да: часть писем может не дойти совсем, а в спаме их легко пропустить. Обычно помогает отправка через SMTP от адреса на вашем домене и настроенные SPF, DKIM и DMARC.
Можно ли получать заявки не на почту, а в Telegram или CRM?
Можно, и лучше сразу в несколько мест: в базу или CRM для учёта и в мессенджер для быстрой реакции. Как передавать заявки в таблицу, мы разобрали в отдельной статье, про CRM — здесь.