Как настроить SMTP в WordPress, если письма с формы не доходят

smtp wordpress pisma ne dohodyat cover Без рубрики
PHP mail vs SMTP, диагностика за 3 минуты, WP Mail SMTP + Яндекс или Brevo, Force From Email для CF7. Тест Tools → Email Test и проверка заявки с формы.

Форма на сайте пишет «Спасибо, заявка отправлена», а во «Входящих» тишина — и в «Спаме» тоже. Владелец салона три дня не видел заявок: клиенты звонили и говорили «я оставлял заявку на сайте». Страх «сломаю сайт» и непонятное слово SMTP пугают сильнее, чем реальная настройка. За один вечер вы подключите плагин WP Mail SMTP, отправите тестовое письмо и снова будете видеть заявки с формы на своей почте — без программиста и без доступа к серверу.

WordPress по умолчанию отдаёт письма хостингу через PHP mail — без логина и пароля. Почтовики такие письма часто молча отбрасывают. Решение для владельца бизнеса: один плагин WP Mail SMTP, мастер настройки (Яндекс или Brevo), тест из Tools → Email Test, затем проверка формы Contact Form 7. После WordPress 6.9 адрес отправителя стал строже — без SPF или SMTP заявки могут пропасть даже на «работавшем» сайте.

Заявки с сайта пропали — а форма вроде работает. Тут важный момент: все формы на WordPress (Contact Form 7, WPForms, форма сброса пароля) отправляют почту через одну функцию wp_mail(). Если она не доставляет письма, виновата не кнопка «Отправить» на странице, а канал отправки под капотом.

С WordPress 6.9 (декабрь 2025) ядро явно задаёт адрес отправителя wordpress@ваш-домен.ru. Без SPF/DKIM заявки могут пропасть даже на «работавшем» сайте. Обход — SMTP-плагин или фильтр wp_mail_from для продвинутых.

Разберите, почему форма пишет «отправлено», а письма нет

Схема PHP mail vs SMTP на светлом столе: почему форма пишет отправлено, а письма нет

Главная боль: сайт показывает успех, а вы теряете клиентов. На практике PHP mail на shared-хостинге часто не настроен: письмо уходит «в никуда», и WordPress об этом не сообщает. Разработчики плагина WP Mail SMTP прямо пишут: PHP mail не даёт нормальной обратной связи об ошибке.

SMTP (Simple Mail Transfer Protocol) — это способ сдать письмо «настоящей» почте с логином и паролем, как в Outlook или на телефоне. Сайт не становится почтовым сервером — он только авторизуется у Яндекса, Brevo или почты домена и передаёт письмо дальше.

Способ отправки Как это выглядит для почтовика Риск для заявок с формы
PHP mail (по умолчанию) Анонимное письмо с хостинга, без авторизации Высокий: часто не доходит или уходит в спам
SMTP через WP Mail SMTP Письмо от вашего ящика с паролем приложения Низкий: видно ошибку в логе плагина
API-mailer (Brevo, SendGrid) Отправка через интернет-API, не через порт SMTP Низкий: обходит блокировку портов хостингом

Типичная ошибка — менять форму или тему, хотя проблема в wp_mail. Сначала проверьте, уходит ли почта вообще, потом подключайте SMTP.

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

Чеклист диагностики почты на столе: спам, сброс пароля, красная рамка формы

Боль «не знаю, с чего начать» закрывается простой диагностикой. В реальном проекте половина «пропавших» заявок лежит в папке «Спам» или «Промоакции».

  1. Откройте почту, куда должны падать заявки, и проверьте «Спам», «Промоакции», «Нежелательная почта».
  2. На сайте нажмите «Забыли пароль?» и запросите сброс пароля на свой email. Если письма нет — проблема в wp_mail, не в Contact Form 7.
  3. Отправьте тестовую заявку с формы. Красная рамка в CF7 означает сбой отправки на сервере (SMTP, порт, авторизация). Оранжевая рамка — антиспам формы заблокировал сообщение, хотя почта может быть исправна.
  4. Если красная рамка — временно отключите другие SMTP-плагины (Site Mailer, FluentSMTP, Post SMTP). Два активных отправителя часто конфликтуют.

Схема диагностики: форма показывает успех → проверка «Спам» → сброс пароля WP → если тишина → ставим WP Mail SMTP → тест → повтор формы.

Установите WP Mail SMTP и пройдите мастер настройки

Карточка шагов WP Mail SMTP на столе: мастер настройки и тестовое письмо

Боль «SMTP только для программистов» снимает WP Mail SMTP от WPForms: 4+ млн установок, версия 4.9.0, tested up to WP 7.0.2. Код в functions.php не нужен.

  1. «Плагины → Добавить новый» → найдите «WP Mail SMTP» от WPForms → Установить → Активировать.
  2. На экране плагина нажмите Launch Setup Wizard (Запустить мастер настройки).
  3. Выберите почтовый сервис. Для ящика на Яндексе — Other SMTP. Если хостинг блокирует SMTP-порты — Brevo (около 300 писем в день бесплатно через API).
  4. Заполните поля From Name (имя отправителя) и From Email (ваш рабочий ящик).
  5. Включите Force From Email — плагин подставит один адрес для всех форм и уберёт рассинхрон с CF7.
  6. Сохраните настройки и перейдите в WP Mail SMTP → Tools → Email Test.
  7. Отправьте тест на другой почтовый сервис (например Gmail), не на тот же ящик, что отправитель — так виднее, дошло ли письмо.

Типичная ошибка на GitHub WP-Mail-SMTP #131: SSL на порту 587 вместо TLS. Правило: 587 + TLS, 465 + SSL. Порт 25 на хостингах почти всегда закрыт.

Настройте Яндекс-почту или Brevo без своего почтового сервера

Боль «Яндекс не принимает пароль от входа» решается паролем приложения, а не обычным паролем аккаунта. В Яндекс ID создайте пароль приложения с типом «Почта» — обычный пароль для входа в SMTP не подойдёт.

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Параметр Яндекс (Other SMTP) Brevo (API в мастере)
Адрес сервера smtp.yandex.ru Не нужен — ключ API в мастере
Порт и шифрование 465 + SSL или 587 + TLS Работает при блокировке SMTP-портов
Логин Полный email (name@yandex.ru) Email аккаунта Brevo
Пароль Пароль приложения «Почта» API-ключ из личного кабинета Brevo
From Email Тот же ящик, что в Username Подтверждённый отправитель в Brevo

Для Яндекса: Other SMTP, smtp.yandex.ru, порт 465, SSL, Username = полный email, Password = пароль приложения «Почта». «Could not authenticate» почти всегда означает обычный пароль вместо пароля приложения.

Сверьте Contact Form 7: поля From и To

Боль «SMTP работает, а форма молчит» часто из-за поля From в CF7. Официальная справка Contact Form 7 требует, чтобы From был с домена вашего сайта (info@ваш-домен.ru), а не с gmail.com или yandex.ru на чужом домене.

Форма → Mail: From = [your-name] <info@ваш-домен.ru>, To = рабочий ящик. С Force From Email плагин подставит верный адрес. Заявка с сайта должна прийти за 1–2 минуты; в Email Log — статус Sent.

Убедитесь, что всё сработало, и что делать, если письма в спаме

Критерий успеха простой: тест из Tools → Email Test приходит на рабочую почту; повторная заявка с формы доходит за 1–2 минуты; в логе плагина — Sent, не Could not authenticate.

  1. Проверьте тестовое письмо из WP Mail SMTP на ящик другого сервиса (Gmail, Mail.ru).
  2. Отправьте заявку с формы на сайте и найдите письмо во «Входящих».
  3. Откройте Email Log в плагине — убедитесь, что статус Sent.
  4. Если письма в «Спаме», но доходят — настройте SPF и DKIM для домена у регистратора (это отдельный шаг после SMTP; без него доставка не «100%», как обещают сомнительные гайды).
  5. После обновления до WordPress 6.9+ проверьте From ещё раз — ядро могло сменить envelope From на wordpress@домен.

Больше материалов по заявкам с сайта — в разделе статей блога. Если после всех шагов заявки всё ещё не доходят или нужна настройка SPF/DKIM на домене, опишите ситуацию через страницу услуг или форму на сайте — ответим в мессенджер. Короткий вопрос по SMTP — в Telegram.

Материал проверен: Андрей Дикий — создаёт сайты и продвигает их статьями (SEO/GEO).
Достоверность данных: wordpress.org/plugins/wp-mail-smtp/, wpmailsmtp.com/docs/, make.wordpress.org/core (WordPress 6.9 и wp_mail_from), contactform7.com/setting-up-mail/, yandex.ru/support (SMTP и пароли приложений), GitHub WP-Mail-SMTP issues #131 и #101; частотность запросов — по Яндекс Вордстат на 2026-09-05 (MCP Wordstat недоступен, LSI из SERP).

Частые вопросы

Почему WordPress не отправляет письма с формы?

Чаще всего WordPress шлёт почту через PHP mail хостинга без авторизации, и почтовик письмо отбрасывает. Форма при этом показывает «отправлено», потому что wp_mail() отработала без явной ошибки. Решение — WP Mail SMTP и тестовое письмо из плагина.

Нужен ли SMTP для WordPress обязательно?

Для бизнес-сайта с заявками — да, по сути обязательно. На shared-хостинге PHP mail ненадёжен, а после WordPress 6.9 требования к адресу отправителя стали жёстче. SMTP или API-mailer даёт авторизацию и понятные ошибки в логе.

Чем WP Mail SMTP отличается от PHP mail?

PHP mail передаёт письмо функции сервера «как есть», без логина. WP Mail SMTP подключает ваш ящик (Яндекс, Brevo) или API и отправляет от вашего имени. Вы видите ошибки в Tools и Email Log, а не тишину во «Входящих».

Как проверить, что SMTP работает?

WP Mail SMTP → Tools → Email Test на ящик другого сервиса. Затем отправьте заявку с формы и проверьте «Входящие» и «Спам» за 1–2 минуты. В Email Log статус Sent подтверждает успех.

Contact Form 7: красная или оранжевая рамка — что делать?

Красная рамка — сбой wp_mail (SMTP, порт, пароль). Настройте WP Mail SMTP и проверьте 587+TLS или 465+SSL. Оранжевая рамка — антиспам CF7: проверьте reCAPTCHA, лишние антиспам-правила, временно упростите форму для теста.

Можно ли настроить SMTP без плагина?

Технически да — константы WPMS_* в wp-config.php или фильтр wp_mail_from. Для владельца бизнеса без разработчика безопаснее один плагин и мастер настройки: меньше шанс сломать сайт одной строкой в конфиге.

Что изменилось в WordPress 6.9 для почты?

Ядро явно задаёт envelope From (часто wordpress@ваш-домен.ru). Без SPF/DKIM для этого адреса письма могут перестать доходить. SMTP-плагин с Force From Email или записи SPF/DKIM у регистратора решают проблему после обновления.

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Новый маркетинг с искусственным интеллектом
Добавить комментарий