Не приходят заявки с сайта WordPress

Автор:vkuzyomko

Не приходят заявки с сайта WordPress

Краткий ответ: заявки с сайта WordPress чаще всего не приходят из-за неправильных настроек формы, проблем с wp_mail(), отсутствия SMTP, ошибок SPF/DKIM/DMARC, попадания писем в спам, reCAPTCHA/антиспама, JavaScript-ошибок, кеша, неверного email получателя, конфликта плагинов или сбоя интеграции с CRM/Telegram. Исправлять нужно по цепочке: форма → отправка WordPress → SMTP → DNS почты → антиспам → логи → интеграции.

Важно понять, что “не приходят заявки” — это не всегда проблема почты. Иногда форма вообще не отправляется. Иногда отправляется, но письмо не создаётся. Иногда письмо создано, но почтовый сервер его отклоняет. Иногда заявка ушла в CRM или Telegram, но менеджер не получил уведомление. Поэтому диагностику нужно делать не наугад, а по этапам.

Причина

WordPress сам по себе не является полноценным почтовым сервером. Большинство форм передают данные в PHP, затем WordPress вызывает wp_mail(), а дальше письмо уходит через PHP mail() хостинга или через SMTP-плагин, если он настроен.

Если любой участок этой цепочки работает неправильно, заявка может потеряться или не дойти до менеджера.

  • в форме указан неправильный email получателя;
  • поле From задано как email посетителя, а не доменный email сайта;
  • хостинг блокирует PHP mail();
  • SMTP-плагин отключён, настроен неверно или потерял авторизацию;
  • у домена не настроены SPF, DKIM и DMARC;
  • письмо попадает в спам или отклоняется почтовым сервисом;
  • Contact Form 7, WPForms, Elementor Form или другой плагин формы выдаёт ошибку;
  • reCAPTCHA, Akismet или антиспам помечает заявку как подозрительную;
  • AJAX формы блокируется кешем, security-плагином или CDN;
  • на странице есть JavaScript-ошибка, из-за которой форма не отправляется;
  • после обновления плагина формы изменились поля или mail-tags;
  • интеграция с CRM/API зависает или возвращает ошибку;
  • Telegram-уведомление не уходит из-за неправильного token/chat_id;
  • в debug.log есть PHP fatal error, который ломает обработку формы.

Если на сайте не отправляются не только заявки, но и любые системные письма WordPress, сначала нужно проверить общую отправку почты: не отправляются письма WordPress. Если проблема только в Contact Form 7, полезно отдельно проверить настройки формы по статье Contact Form 7 не отправляет письма.

Где может потеряться заявка

Этап Что происходит Что может сломаться
Фронтенд формы Пользователь заполняет поля и нажимает кнопку JS-ошибка, неверная валидация, кнопка не работает
AJAX/POST-запрос Форма отправляет данные на сервер 403, 400, 500, кеш, WAF, security-плагин
Плагин формы Contact Form 7, WPForms, Elementor или другой плагин обрабатывает данные Ошибки mail-tags, неправильные настройки уведомлений
wp_mail() WordPress пытается создать письмо Ошибка PHPMailer, неверные headers, плохой From
SMTP или PHP mail Сервер отправляет письмо Блокировка хостинга, неверный SMTP, таймаут
Почтовый сервер получателя Почта принимает или отклоняет письмо SPF/DKIM/DMARC, спам-фильтр, репутация домена
CRM/Telegram Заявка передаётся в стороннюю систему API token, webhook, timeout, неправильные поля
Менеджер Получает письмо или уведомление Спам, неправильный ящик, фильтры почты, нет доступа к чату

Диагностика

Диагностику нужно начинать с простого теста: форма показывает успешную отправку или ошибку. Это сразу разделяет проблему на две группы: форма не отправляется или отправляется, но заявка не доставляется.

Быстрая проверка

  • отправьте тестовую заявку с простым текстом;
  • проверьте, появляется ли сообщение “успешно отправлено”;
  • проверьте папки spam, promotions, junk;
  • проверьте правильность email получателя в настройках формы;
  • проверьте, приходит ли письмо на другой ящик, например Gmail;
  • проверьте, отправляет ли WordPress тестовое письмо;
  • откройте DevTools → Console и проверьте JavaScript-ошибки;
  • откройте DevTools → Network и проверьте AJAX-запрос формы;
  • включите debug.log и повторите отправку;
  • проверьте SMTP logs или email log, если они включены;
  • проверьте, не блокирует ли заявку reCAPTCHA или антиспам;
  • проверьте, не попадает ли заявка в CRM, но не приходит на email.

Как понять тип ошибки

Симптом Вероятная причина Что проверять
Форма показывает успех, письма нет Проблема доставки email SMTP, SPF, DKIM, DMARC, spam, email logs
Форма показывает красную ошибку Проблема отправки почты или сервера wp_mail(), SMTP, debug.log, хостинг
Форма показывает оранжевую ошибку Антиспам считает заявку подозрительной reCAPTCHA, Akismet, spam filters
Кнопка не реагирует JavaScript или конфликт темы Console, оптимизация JS, тема, плагины
AJAX возвращает 403 Security-плагин, WAF, nonce, reCAPTCHA Network, firewall, security rules
AJAX возвращает 500 PHP-ошибка debug.log, error_log, PHP version
Заявка приходит на Gmail, но не на доменную почту Проблема почтового сервера получателя Почтовые логи, MX, фильтры, SPF/DKIM/DMARC
Письмо приходит без части данных Неверные mail-tags или имена полей Настройки формы, template письма
CRM получает заявку, email нет Разные каналы уведомлений Настройки email-уведомления и CRM webhook

Что проверить в Contact Form 7

  • вкладку Mail;
  • поле To;
  • поле From;
  • поле Subject;
  • поле Additional headers;
  • правильность mail-tags: [your-name], [your-email], [your-message];
  • нет ли устаревших или удалённых полей;
  • не указан ли email посетителя в From;
  • не блокирует ли форму reCAPTCHA;
  • какой цвет ошибки показывает форма после отправки.

Что проверить в Elementor Form, WPForms, Ninja Forms, Fluent Forms

  • включены ли email notifications;
  • правильный ли recipient;
  • есть ли From email на домене сайта;
  • есть ли Reply-To с email пользователя;
  • не отключены ли уведомления для конкретной формы;
  • есть ли сохранение entries в админке;
  • попадает ли заявка в entries, но не приходит на email;
  • нет ли ошибок в webhook/CRM-интеграции;
  • не блокируется ли AJAX security-плагином.

Нужно быстро решить проблему на сайте?

Если не хотите рисковать сайтом и тратить время на эксперименты, можно оставить заявку. Я посмотрю задачу и предложу аккуратное решение.

Оставить заявку

Решение

Исправление лучше делать по слоям. Сначала убедиться, что форма отправляется. Затем проверить настройки уведомления. После этого — wp_mail(), SMTP, DNS, антиспам и интеграции.

1. Исправить From и Reply-To

Одна из частых ошибок — ставить email пользователя в поле From. Почтовые сервисы могут отклонять такие письма, потому что сайт пытается отправить письмо от имени чужого домена.

Правильная логика:

  • From: noreply@ваш-домен.com или info@ваш-домен.com;
  • To: почта менеджера;
  • Reply-To: email пользователя из формы.

Так менеджер сможет нажать “Ответить”, но само письмо будет отправлено от домена сайта.

2. Настроить SMTP

Для коммерческого сайта лучше не полагаться на PHP mail() хостинга. SMTP даёт авторизованную отправку через почтовый сервер и обычно позволяет видеть логи.

  • установите SMTP-плагин;
  • укажите SMTP host, port и encryption;
  • используйте логин и пароль почтового ящика или API-ключ сервиса;
  • отправьте тестовое письмо;
  • проверьте отправку формы после SMTP;
  • включите email logs на время диагностики;
  • не храните SMTP-пароли в открытых публичных файлах.

3. Настроить SPF, DKIM и DMARC

Даже если SMTP отправляет письмо, почтовый сервис получателя может положить его в спам или отклонить. Для нормальной доставляемости домен должен подтверждать право отправки писем.

  • SPF указывает, какие серверы могут отправлять письма от имени домена;
  • DKIM добавляет цифровую подпись письма;
  • DMARC задаёт политику проверки и помогает почтовикам принимать решение.

4. Проверить антиспам и reCAPTCHA

Если форма показывает ошибку антиспама, заявка может вообще не попадать в отправку. В Contact Form 7 оранжевая ошибка часто связана с подозрением на спам, а красная — с проблемой отправки письма или сервера.

  • временно отключите reCAPTCHA на тестовой копии;
  • проверьте ключи Site Key и Secret Key;
  • проверьте домен в настройках reCAPTCHA;
  • проверьте Akismet, Honeypot и другие антиспам-плагины;
  • проверьте firewall/security-плагин;
  • проверьте, не блокируются ли AJAX-запросы.

5. Сохранять заявки в базе

Письмо — это уведомление, а не надёжное хранилище заявок. Если заявка важна для бизнеса, её лучше сохранять в админке WordPress, CRM или отдельной таблице. Тогда даже при сбое email заявка не потеряется.

Для продаж и обработки обращений полезна связка: форма сохраняет заявку локально, отправляет email, дублирует уведомление в Telegram и передаёт данные в CRM. Для быстрых уведомлений можно использовать интеграцию WordPress с Telegram.

6. Проверить кеш и оптимизацию JavaScript

Кеш редко ломает отправку письма напрямую, но может ломать форму: устаревший nonce, кешированный HTML, отложенный JS, заблокированный AJAX, конфликт с reCAPTCHA.

  • исключите страницу с формой из агрессивного кеша на время теста;
  • отключите delay/defer JS для скриптов формы;
  • проверьте, не кешируется ли REST API или admin-ajax.php;
  • очистите кеш плагина, сервера и CDN;
  • проверьте форму в режиме инкогнито;
  • проверьте мобильную версию формы.

Код

Важно: код ниже предназначен для диагностики и страховочного сохранения заявок. Не вставляйте все сниппеты сразу на рабочий сайт. Перед правками сделайте бэкап. Не храните лишние персональные данные дольше, чем нужно для обработки заявки.

1. Включить debug.log

Куда вставлять: в файл wp-config.php перед строкой /* That’s all, stop editing! */.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

2. Логировать ошибки wp_mail_failed

Куда вставлять: во временный служебный плагин или в functions.php дочерней темы. Лучше использовать отдельный плагин, чтобы не потерять код при смене темы.

<?php
if (!defined('ABSPATH')) {
    exit;
}

add_action('wp_mail_failed', 'sc_log_wp_mail_failed');

function sc_log_wp_mail_failed($wp_error) {
    if (!is_wp_error($wp_error)) {
        return;
    }

    error_log('================ SC WP MAIL FAILED ================');
    error_log('Message: ' . $wp_error->get_error_message());

    $error_data = $wp_error->get_error_data();

    if (!empty($error_data) && is_array($error_data)) {
        if (!empty($error_data['to'])) {
            error_log('To: ' . print_r($error_data['to'], true));
        }

        if (!empty($error_data['subject'])) {
            error_log('Subject: ' . $error_data['subject']);
        }

        if (!empty($error_data['headers'])) {
            error_log('Headers: ' . print_r($error_data['headers'], true));
        }
    }

    error_log('====================================================');
}

3. Проверить wp_mail() тестовым письмом

Важно: этот код отправляет письмо администратору сайта. Используйте только для диагностики и удалите после проверки.

Куда вставлять: временно в functions.php дочерней темы или в отдельный служебный плагин.

<?php
add_action('admin_init', 'sc_test_wp_mail_from_admin');

function sc_test_wp_mail_from_admin() {
    if (!current_user_can('manage_options')) {
        return;
    }

    if (empty($_GET['sc_test_wp_mail'])) {
        return;
    }

    $admin_email = get_option('admin_email');

    $sent = wp_mail(
        $admin_email,
        'Test wp_mail from WordPress',
        'Это тестовое письмо WordPress. Если оно пришло, wp_mail работает.'
    );

    if ($sent) {
        wp_die('Тестовое письмо отправлено на: ' . esc_html($admin_email));
    }

    wp_die('wp_mail вернул false. Проверьте debug.log, SMTP, хостинг и wp_mail_failed.');
}

После вставки откройте в админке:

/wp-admin/?sc_test_wp_mail=1

4. Логировать отправку Contact Form 7

Важно: этот код не сохраняет заявку полностью, а только помогает понять, сработал ли hook после успешной отправки Contact Form 7.

<?php
add_action('wpcf7_mail_sent', 'sc_log_cf7_mail_sent');

function sc_log_cf7_mail_sent($contact_form) {
    if (!function_exists('WPCF7_Submission')) {
        return;
    }

    $submission = WPCF7_Submission::get_instance();

    if (!$submission) {
        error_log('SC CF7: Submission instance not found.');
        return;
    }

    $posted_data = $submission->get_posted_data();

    error_log('================ SC CF7 MAIL SENT ================');
    error_log('Form ID: ' . (int) $contact_form->id());
    error_log('Form title: ' . sanitize_text_field($contact_form->title()));

    if (!empty($posted_data['your-email'])) {
        error_log('User email: ' . sanitize_email($posted_data['your-email']));
    }

    error_log('==================================================');
}

5. Сохранять заявки Contact Form 7 как резервную копию

Важно: этот пример создаёт записи в админке. Перед использованием продумайте срок хранения заявок и доступ к ним, потому что там могут быть персональные данные.

Куда вставлять: лучше в отдельный мини-плагин.

<?php
if (!defined('ABSPATH')) {
    exit;
}

add_action('init', 'sc_register_lead_post_type');

function sc_register_lead_post_type() {
    register_post_type('sc_lead', array(
        'labels' => array(
            'name' => 'Заявки',
            'singular_name' => 'Заявка',
        ),
        'public' => false,
        'show_ui' => true,
        'show_in_menu' => true,
        'supports' => array('title', 'editor'),
        'capability_type' => 'post',
    ));
}

add_action('wpcf7_before_send_mail', 'sc_save_cf7_lead_before_mail');

function sc_save_cf7_lead_before_mail($contact_form) {
    if (!function_exists('WPCF7_Submission')) {
        return;
    }

    $submission = WPCF7_Submission::get_instance();

    if (!$submission) {
        return;
    }

    $posted_data = $submission->get_posted_data();

    $name = isset($posted_data['your-name']) ? sanitize_text_field($posted_data['your-name']) : '';
    $email = isset($posted_data['your-email']) ? sanitize_email($posted_data['your-email']) : '';
    $phone = isset($posted_data['your-phone']) ? sanitize_text_field($posted_data['your-phone']) : '';
    $message = isset($posted_data['your-message']) ? sanitize_textarea_field($posted_data['your-message']) : '';

    $lead_title = 'Заявка от ' . current_time('Y-m-d H:i:s');

    if (!empty($name)) {
        $lead_title = 'Заявка от ' . $name;
    }

    $content = '';
    $content .= 'Имя: ' . $name . "n";
    $content .= 'Email: ' . $email . "n";
    $content .= 'Телефон: ' . $phone . "n";
    $content .= 'Сообщение: ' . $message . "n";

    wp_insert_post(array(
        'post_type' => 'sc_lead',
        'post_status' => 'private',
        'post_title' => $lead_title,
        'post_content' => $content,
    ));
}

6. Пример правильных headers для Contact Form 7

В настройках Contact Form 7 во вкладке Mail лучше использовать доменный email в From, а email пользователя — в Reply-To.

To: manager@example.com
From: Site Name <noreply@example.com>
Subject: Новая заявка с сайта
Additional headers: Reply-To: [your-email]

Замените example.com на домен сайта. Не используйте в From чужой Gmail, Mail.ru, Outlook или email посетителя формы.

Результат

После правильной настройки заявка должна проходить весь путь: пользователь отправляет форму, сайт принимает данные, WordPress создаёт письмо, SMTP отправляет его, почтовый сервис принимает письмо, менеджер получает уведомление, а резервная копия заявки остаётся в админке или CRM.

Хороший результат

  • форма показывает понятный статус отправки;
  • заявка сохраняется в WordPress или CRM;
  • email приходит на ящик менеджера;
  • письмо не попадает в спам;
  • wp_mail() работает;
  • SMTP-тест проходит успешно;
  • SPF, DKIM и DMARC настроены;
  • reCAPTCHA не блокирует нормальные заявки;
  • AJAX формы не возвращает 403/500;
  • в debug.log нет fatal errors;
  • менеджер получает резервное уведомление в Telegram или CRM, если это настроено.

Дополнительные способы

Вариант 1: Настроить SMTP

Подходит почти для любого WordPress-сайта с формами. SMTP делает отправку писем более предсказуемой, чем PHP mail() на хостинге.

Плюсы: быстрее найти ошибку, есть тестовая отправка, часто есть email logs.

Минусы: нужно правильно настроить домен, порт, шифрование и авторизацию.

Вариант 2: Сохранять заявки в админке

Подходит, если заявки важны и не должны зависеть только от email.

Плюсы: заявка не теряется, даже если письмо не дошло.

Минусы: нужно защищать персональные данные и чистить старые заявки.

Вариант 3: Дублировать заявки в Telegram

Подходит для быстрых уведомлений менеджеру. Telegram не заменяет CRM или email, но помогает быстрее увидеть новое обращение.

Плюсы: быстро, удобно для отдела продаж.

Минусы: нужно защищать token, chat_id и не отправлять лишние персональные данные.

Вариант 4: Передавать заявки в CRM

Подходит, если заявки нужно обрабатывать по воронке продаж, назначать менеджеров, хранить статусы и UTM-метки.

Плюсы: нормальная история обработки лидов.

Минусы: нужна корректная интеграция, логи и повторная отправка при ошибке API.

Вариант 5: Использовать транзакционный email-сервис

Подходит, если сайт постоянно отправляет важные уведомления: заявки, заказы, доступы, счета, восстановление пароля.

Плюсы: лучше логи и контроль доставляемости.

Минусы: внешний сервис, тарифы и настройка DNS.

Безопасность

Формы сайта часто собирают имя, телефон, email и сообщение. Это персональные данные. Поэтому нельзя просто писать все заявки в открытый лог или отправлять их в публичный чат.

Что нельзя делать

  • нельзя выводить SMTP-пароль или API token во фронтенд;
  • нельзя хранить секретные ключи в JavaScript;
  • нельзя отправлять заявки в Telegram-группу с лишними участниками;
  • нельзя сохранять пароли, платёжные данные и лишнюю приватную информацию;
  • нельзя оставлять debug.log публично доступным;
  • нельзя использовать открытый AJAX без nonce;
  • нельзя отключать весь антиспам на живом сайте без замены;
  • нельзя показывать посетителю технический ответ SMTP или API.

Что нужно использовать

  • HTTPS;
  • nonce для AJAX-форм;
  • sanitize_text_field(), sanitize_email(), sanitize_textarea_field();
  • esc_html() при выводе заявок;
  • current_user_can() для доступа к заявкам в админке;
  • SMTP или транзакционный email-сервис;
  • SPF, DKIM, DMARC;
  • логи без секретных данных;
  • ограничение срока хранения заявок;
  • резервное сохранение заявок в базе или CRM.

Производительность

Форма должна отправляться быстро. Если при отправке сайт одновременно создаёт заявку, отправляет email, пишет в CRM, отправляет Telegram, проверяет reCAPTCHA и делает внешний API-запрос, пользователь может ждать слишком долго.

Что может тормозить отправку заявки

  • медленный SMTP;
  • внешний CRM API;
  • Telegram API с большим timeout;
  • несколько webhook-запросов подряд;
  • тяжёлый антиспам;
  • PHP-ошибки;
  • медленная база данных;
  • слишком большие вложения;
  • загрузка файлов через форму;
  • кеш или security-плагин, который проверяет каждый AJAX-запрос.

Что помогает

  • сначала сохранять заявку локально;
  • email, CRM и Telegram отправлять с контролируемым timeout;
  • для сложных проектов использовать очередь и cron;
  • не прикладывать к письму тяжёлые файлы без необходимости;
  • проверять Network и время AJAX-запроса;
  • не грузить скрипты формы на всех страницах;
  • логировать ошибки интеграций;
  • проверять скорость после включения reCAPTCHA.

Частые ошибки

Проверять только папку “Входящие”

Заявка может попасть в spam, promotions, junk, quarantine или фильтр корпоративной почты. Нужно проверить все папки и почтовые логи.

Ставить email пользователя в From

Это ломает доверие почтовых серверов. В From должен быть email домена сайта, а email пользователя лучше ставить в Reply-To.

Думать, что зелёное сообщение формы гарантирует доставку

Зелёное сообщение часто означает, что форма передала данные обработчику. Это не гарантия, что письмо дошло до менеджера.

Не сохранять заявки

Если заявка существует только как email, она может потеряться. Для бизнеса лучше сохранять её в базе, CRM или хотя бы временном журнале.

Не проверять wp_mail()

Если WordPress не может отправить обычное тестовое письмо, форма тоже не будет надёжно отправлять заявки.

Игнорировать DNS почты

Без SPF, DKIM и DMARC письмо может технически уйти, но быть отклонено или отправлено в спам.

Отключать reCAPTCHA полностью

Если просто убрать антиспам, сайт может начать получать мусорные заявки. Лучше настроить антиспам правильно и проверить, что он не блокирует нормальных пользователей.

Не смотреть Network

Если AJAX-запрос формы возвращает 403 или 500, настройка SMTP не поможет. Сначала нужно исправить серверную или frontend-ошибку.

Диагностика проблем

Проблема: форма пишет “успешно отправлено”, но заявки нет

  • проверить spam/junk/promotions;
  • проверить email получателя;
  • проверить SMTP logs;
  • проверить wp_mail_failed;
  • проверить SPF/DKIM/DMARC;
  • отправить тест на другой email;
  • проверить, сохраняется ли заявка в entries или базе;
  • проверить почтовые логи хостинга.

Проблема: форма показывает красную ошибку

  • проверить debug.log;
  • проверить SMTP;
  • проверить настройки Mail в форме;
  • проверить From email;
  • проверить хостинг и PHP mail();
  • проверить wp_mail_failed;
  • отправить тестовое письмо wp_mail();
  • проверить конфликт плагинов.

Проблема: форма показывает оранжевую ошибку

  • проверить reCAPTCHA;
  • проверить Akismet;
  • проверить honeypot-поле;
  • проверить антиспам-плагины;
  • проверить IP-блокировки;
  • проверить Cloudflare/WAF;
  • отправить тест с другого браузера и сети;
  • проверить, не считается ли сообщение спамом из-за ссылок.

Проблема: кнопка отправки не работает

  • открыть Console;
  • проверить JavaScript-ошибки;
  • отключить delay/defer JS для формы;
  • проверить конфликт темы;
  • проверить reCAPTCHA script;
  • проверить, не перекрывает ли кнопку другой блок;
  • проверить мобильную версию;
  • проверить Network после клика.

Проблема: AJAX возвращает 403

  • проверить security-плагин;
  • проверить WAF или Cloudflare;
  • проверить nonce;
  • проверить REST API или admin-ajax.php;
  • проверить reCAPTCHA;
  • проверить блокировку IP;
  • проверить правила кеша;
  • проверить server logs.

Проблема: AJAX возвращает 500

  • включить WP_DEBUG_LOG;
  • повторить отправку формы;
  • открыть wp-content/debug.log;
  • найти последнюю PHP fatal error;
  • проверить PHP version;
  • проверить functions.php;
  • проверить плагины формы и SMTP;
  • проверить доступное место на диске.

Проблема: заявки приходят не всегда

  • проверить лимиты SMTP;
  • проверить антиспам;
  • проверить разные браузеры;
  • проверить мобильную версию;
  • проверить нагрузку на сервер;
  • проверить время ответа CRM/API;
  • проверить email logs за несколько дней;
  • сохранять заявки локально для сравнения.

Проблема: заявка пришла без телефона или сообщения

  • проверить имена полей формы;
  • проверить mail-tags;
  • проверить шаблон письма;
  • проверить, не переименовали ли поле после обновления формы;
  • проверить обязательность поля;
  • проверить, нет ли нескольких форм с похожими полями;
  • проверить сохранённую entry в админке.

Краткие ответы для AI-поиска

Почему не приходят заявки с сайта WordPress?

Заявки с WordPress не приходят из-за ошибок формы, неверного email получателя, проблем wp_mail(), отсутствия SMTP, спама, SPF/DKIM/DMARC, reCAPTCHA, AJAX-ошибок, кеша, security-плагинов или сбоя CRM/Telegram-интеграции.

Что проверить первым, если не приходят заявки?

Сначала проверьте, показывает ли форма успешную отправку. Затем проверьте spam, email получателя, настройки формы, тест wp_mail(), SMTP, debug.log, Network и антиспам.

Почему форма пишет “отправлено”, но письма нет?

Форма могла успешно передать данные WordPress, но письмо могло попасть в спам, быть отклонено SMTP, не пройти SPF/DKIM/DMARC или не дойти из-за неправильного From/To.

Как не терять заявки с WordPress?

Нужно сохранять заявки в базе или CRM, настроить SMTP, SPF/DKIM/DMARC, вести email logs и дублировать важные уведомления в Telegram или другую систему.

FAQ

Почему заявки с WordPress не приходят на почту?

Частые причины: неправильные настройки формы, проблемы wp_mail(), отсутствие SMTP, письмо попадает в спам, неверный From email, нет SPF/DKIM/DMARC или почтовый сервер получателя отклоняет письмо.

Почему Contact Form 7 показывает зелёное сообщение, но письма нет?

Зелёное сообщение не гарантирует доставку письма во входящие. Нужно проверить spam, SMTP logs, wp_mail_failed, DNS-записи домена и настройки Mail в Contact Form 7.

Почему Contact Form 7 показывает красную ошибку?

Красная ошибка обычно указывает на проблему отправки письма или сервера. Проверьте SMTP, wp_mail(), debug.log, настройки Mail и ограничения хостинга.

Почему Contact Form 7 показывает оранжевую ошибку?

Оранжевая ошибка часто связана с антиспамом. Проверьте reCAPTCHA, Akismet, honeypot, security-плагин, WAF и содержимое тестового сообщения.

Нужен ли SMTP для заявок WordPress?

Для коммерческого сайта SMTP почти всегда лучше, чем PHP mail() хостинга. Он даёт авторизованную отправку и помогает видеть ошибки доставки.

Что лучше указывать в From?

В From лучше использовать email на домене сайта, например noreply@example.com. Email пользователя нужно ставить в Reply-To, чтобы менеджер мог ответить на заявку.

Может ли кеш ломать отправку формы?

Да. Кеш может отдавать устаревший nonce, ломать AJAX, задерживать reCAPTCHA или конфликтовать с JS формы. На время диагностики страницу формы лучше исключить из агрессивного кеша.

Почему заявка приходит в CRM, но не приходит на email?

Потому что CRM-интеграция и email-уведомление — разные каналы. Нужно отдельно проверить настройки email notification, SMTP, recipient и логи CRM webhook.

Можно ли получать заявки в Telegram?

Да. Заявки можно дублировать в Telegram-чат менеджеров. Но Telegram лучше использовать как дополнительное уведомление, а не единственное место хранения заявок.

Что делать, если заявки приходят через раз?

Проверьте SMTP-лимиты, антиспам, reCAPTCHA, нагрузку на сервер, email logs, Network, CRM/API timeout и сохранение заявок в базе. Без локального журнала сложно понять, какие заявки потерялись.

Вывод

Если не приходят заявки с сайта WordPress, нельзя ограничиваться фразой “почта не работает”. Нужно проверить весь путь: форму, AJAX, wp_mail(), SMTP, DNS домена, антиспам, кеш, debug.log, почтовые логи, CRM и Telegram.

Надёжная схема для бизнеса такая: заявка сохраняется в WordPress или CRM, email отправляется через SMTP, домен имеет SPF/DKIM/DMARC, ошибки пишутся в лог, а важные обращения дублируются в Telegram или другую систему. Тогда заявка не зависит только от одного письма и не теряется молча.

Об авторе

vkuzyomko administrator