Skip to content

Всё для WordPress, веб-разработки — и не только

💌 Не отправляются письма WooCommerce: полный разбор причин и решений

💌 Не отправляются письма WooCommerce: полный разбор причин и решений

Покупатель оформил заказ, деньги ушли, а письмо с подтверждением, нет. Клиент в панике: магазин взял оплату и пропал. Знакомая картина для владельца магазина на WooCommerce?

Проблема «письма не отправляются» входит в топ-3 технических головных болей после запуска интернет-магазина. Может не доходить email администратору о новом заказе, клиенту, уведомление о покупке, а то и все письма разом уходят в никуда. Причины обычно не в самом WooCommerce, а в том, как WordPress обрабатывает почту по умолчанию.

Разберём цепочку причин по порядку, от тривиальной настройки «От кого» до подключения SMTP через Brevo. После этого письма перестанут теряться.

💡 Быстрый обзор:

  • Проверить имя и адрес отправителя в настройках WooCommerce (чаще всего проблема здесь)
  • Протестировать почтовый сервер WordPress плагином Check Email
  • Посмотреть журнал отправки через WP Mail Logging, отправлено ли письмо вообще
  • Исключить спам-фильтры и конфликт одинаковых доменов у отправителя и получателя
  • Подключить SMTP через Brevo (бывший Sendinblue), чтобы письма уходили надёжно

1. Проверьте имя и адрес отправителя в WooCommerce

Половина обращений «письма не уходят» решается на этом шаге. WooCommerce по умолчанию подставляет в поле «От кого» то, что указано в общих настройках WordPress, а там часто стоит что-то вроде [email protected] или даже имя пользователя без домена.

Перейдите в WooCommerce → Настройки → вкладка Email. Пролистайте до блока «Параметры отправителя»:

Настройки отправителя писем WooCommerce

Что проверить:

  • Имя «От»: должно быть названием магазина на латинице, без спецсимволов. Формат MyStore работает, а MyStore@2024 нет. Почтовые серверы не любят спецсимволы в имени отправителя: знаки @, # и &.
  • Адрес «От», реальный email на вашем домене. Адрес вида [email protected] на домене магазина myshop.ru вызовет подозрение у спам-фильтров: письмо пришло с домена myshop.ru, а обратный адрес, gmail.com. Почтовые серверы видят несоответствие и режут доставку.
  • После правок нажмите Сохранить изменения и сразу отправьте тестовый заказ.

2. Протестируйте почтовый сервер WordPress

Если настройки отправителя в порядке, следующий шаг, проверка самого почтового сервера. WordPress по умолчанию использует функцию wp_mail(), которая дёргает mail() PHP на хостинге. Этот механизм работает нестабильно: многие хостинг-провайдеры блокируют исходящие письма через PHP mail() для борьбы со спамом с виртуальных серверов.

Плагин Check Email даёт простой способ проверить, способен ли ваш сервер отправлять письма вообще. После установки зайдите в Инструменты → Check Email, введите любой внешний адрес (например, ваш личный Gmail) и нажмите «Отправить тестовое письмо».

Тест почтового сервера плагином Check Email

Результат:

  • Письмо пришло, почтовый сервер работает, проблема на стороне WooCommerce или конкретного типа уведомлений. Проверьте, включено ли нужное уведомление в WooCommerce → Настройки → Email.
  • Письмо не пришло (даже в спаме), сервер не отправляет. Переходите к шагу 6: нужен SMTP.

3. Проверьте журнал отправки

Даже если тестовое письмо не дошло, оно могло быть отправлено сервером, а потом заблокировано на стороне получателя. Плагин WP Mail Logging показывает, что происходит с каждым письмом после вызова wp_mail().

Установите плагин, отправьте тестовый заказ в WooCommerce и зайдите в WP Mail Log в админке:

Журнал отправки писем WP Mail Logging

Что смотреть:

  • Письмо в логе есть, но не дошло, сервер отправил, спам-фильтр получателя заблокировал. Переходите к шагу 5.
  • Письма в логе нет, WordPress даже не попытался отправить. Либо отключено уведомление в WooCommerce → Email, либо PHP mail() заблокирован хостингом. Нужен SMTP (шаг 6).
  • Ошибка в столбце Error, читайте текст ошибки, часто там прямой ответ (неверный заголовок, отказ SMTP-сервера хостинга).

4. Смените почтовый сервис получателя

Специфичная, но частая ситуация: клиенты и администратор магазина используют почту на одном домене. Например, и вы, и покупатель зарегистрированы с адресами @yourdomain.com. Письмо идёт с [email protected] на [email protected], и почтовый сервер иногда «роняет» такие письма, потому что видит самому себе адресованную почту с внешнего источника.

Решение простое: для административных уведомлений укажите адрес на стороннем сервисе, Gmail, Яндекс.Почта, Proton Mail. В WooCommerce → Настройки → Email найдите нужное уведомление и поменяйте адрес получателя на внешний.

5. Исключите попадание в спам

Если письма отправляются, но уходят в папку «Спам», проблема в репутации IP вашего хостинга. Общие серверы дешёвого хостинга регулярно попадают в чёрные списки (DNSBL) из-за соседей-спамеров. Результат: Gmail и Outlook отбрасывают всё, что приходит с этого IP.

Что можно сделать:

  • Связаться с хостинг-провайдером, сообщить о проблеме. Крупные хостеры (SiteGround, Cloudways, Kinsta) решают это быстро; мелкие могут развести руками.
  • Сменить хостинг-провайдера, радикально, но иногда единственный способ, если IP в чёрных списках месяцами.
  • Подключить SMTP-сервер Brevo, самый надёжный путь без смены хостинга. Письма уходят через инфраструктуру Brevo с чистой репутацией, а не через почтовый сервер хостинга.

Третий вариант, именно то, ради чего написан следующий раздел.

6. Что такое SMTP и почему он закрывает проблему

SMTP (Simple Mail Transfer Protocol), протокол, по которому работает профессиональная отправка почты. Когда вы нажимаете «отправить» в Gmail, письмо уходит через SMTP-сервер Google. Когда WooCommerce вызывает wp_mail(), письмо идёт через mail() PHP на хостинге, а этот механизм не использует аутентификацию, шифрование и часто не имеет DKIM/SPF-записей.

SMTP-сервер, наоборот:

  • Аутентифицирует каждое письмо логином и паролем, спам-фильтры доверяют.
  • Шифрует соединение TLS, письмо не читается по пути.
  • Имеет репутацию чистого отправителя, не в чёрных списках.

Самый доступный способ подключить SMTP к WordPress в 2026 году, сервис Brevo (до мая 2023, Sendinblue). Бесплатный тариф Brevo позволяет отправлять до 300 писем в день, достаточно для большинства магазинов на WooCommerce. Платные тарифы начинаются с 9000 писем в месяц.

Лучше понять тему поможет видео, настройка Brevo на WordPress от установки до тестового письма:

7. Настройте Brevo для отправки писем WooCommerce

Brevo заменяет wp_mail() собственным SMTP-сервером, после настройки все письма WooCommerce (заказы, сброс пароля, уведомления админу) идут через инфраструктуру Brevo с гарантированной доставкой.

Установка плагина

Зайдите в Плагины → Добавить новый, найдите «Brevo» (или «Sendinblue», плагин всё ещё индексируется под старым названием). Установите и активируйте плагин Brevo for WooCommerce:

Установка плагина Brevo для WooCommerce

Получение API-ключа

Зарегистрируйтесь на brevo.com и подтвердите email. В личном кабинете перейдите в раздел SMTP & API → API Keys, создайте ключ и скопируйте его:

API-ключ Brevo в личном кабинете

Вернитесь в админку WordPress, откройте Brevo → Home и вставьте ключ в поле API Key. Плагин подключится к аккаунту:

Плагин Brevo после активации API-ключа

Что происходит после активации

Плагин автоматически:

  • Перенаправляет все вызовы wp_mail() через SMTP-сервер Brevo
  • Добавляет DKIM-подпись и отправляет письма через TLS
  • Показывает статистику доставки в личном кабинете Brevo

После активации отправьте тестовый заказ в WooCommerce. Письмо должно дойти до получателя за 10-30 секунд. Если нет, проверьте вкладку Transactional → Logs в кабинете Brevo: там видна судьба каждого письма с точным статусом доставки.

Для магазинов с большим потоком заказов или тех, кому Brevo по какой-то причине не подходит, у нас есть подборка из 5 лучших SMTP-плагинов для WordPress.

⁉️🤔 Частые вопросы

Почему письма WooCommerce уходят в спам, хотя SMTP настроен?

SMTP-сервер Brevo имеет высокую репутацию, но спам-фильтры анализируют и контент письма. Заголовок темы «ЗАКАЗ ПОДТВЕРЖДЁН!!!» с тремя восклицательными знаками скорее уйдёт в спам, чем «Заказ №1047 подтверждён». В WooCommerce → Настройки → Email отредактируйте тему каждого письма: оставьте переменные {order_number} и {site_title}, уберите кричащие формулировки. Также проверьте, нет ли в тексте ссылок на домены из чёрных списков.

Можно ли использовать Gmail SMTP вместо Brevo?

Можно, но с ограничениями. Gmail SMTP через плагин WP Mail SMTP даёт до 500 писем в день для обычного аккаунта и до 2000 для Google Workspace. Однако Google сканирует исходящую почту и может заблокировать аккаунт при «подозрительной активности», массовые транзакционные письма под этот критерий попадают. Для магазина с 5-10 заказами в день Gmail подойдёт, но для растущего проекта Brevo надёжнее: нет риска блокировки, есть детальная статистика доставки и open-tracking.

Письма приходят с задержкой в несколько минут, это нормально?

Транзакционные письма через Brevo доставляются в среднем за 2-5 секунд. Задержки в несколько минут, сигнал к диагностике. Проверьте вкладку Transactional → Logs в Brevo: статус queued дольше минуты говорит о перегрузке сервера Brevo или проблемах с принимающим сервером (корпоративный Exchange выполняет цепочку проверок SPF → DKIM → DMARC). Это не проблема магазина, но если клиенты жалуются, попросите их добавить адрес магазина в белый список.

Sendinblue переименовался, мои старые настройки сломаются?

Нет. Brevo провёл ребрендинг в мае 2023 года с полной обратной совместимостью API. Все старые ключи Sendinblue работают, плагин в репозитории WordPress обновляется под slug-ом woocommerce-sendinblue-newsletter-subscription. Единственное визуальное отличие, логотип и название в админке. Никаких действий по миграции не требуется: настройки SMTP, лимиты и шаблоны сохраняются в аккаунте автоматически.

Что делать, если не хочу использовать сторонний SMTP-сервис?

Собственный SMTP-сервер на VPS (Postfix + Dovecot) оправдан при объёмах от 100 000 писем в месяц: десятки часов настройки и постоянный мониторинг репутации IP. Альтернатива: подключить Amazon SES через WP Mail SMTP, доли цента за тысячу писем, но нужна ручная настройка DKIM/SPF/DMARC в DNS и нет визуальной статистики доставки без внешнего дашборда. До 100 000 писем Brevo и аналоги дешевле и проще.

Какое решение выбрать для вашего магазина

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

Краткий итог по сценариям:

  • Письма иногда доходят, иногда нет: начните с шага 1, проверьте имя «От» и адрес отправителя. Чаще всего проблема именно там.
  • Письма не доходят вообще, тест Check Email молчит, переходите к шагу 6: настройте Brevo SMTP. Это решение с самой низкой ценой ошибки.
  • Письма уходят в спам, SPF/DKIM/DMARC + Brevo. Без SMTP репутацию хостинг-IP не вылечить.

Если объём писем перевалил за 300 в день, обновляйте тариф Brevo или смотрите альтернативные SMTP-плагины. И помните: каждое недоставленное письмо с подтверждением заказа, это клиент, который больше не вернётся.