Как избежать проблем с неотправкой писем WooCommerce через SMTP

Почему WooCommerce не отправляет письма через SMTP: диагностика проблемы

Одна из распространенных проблем WooCommerce — письма с уведомлениями о заказах, регистрациях и других событиях не доходят до получателей. Самая частая причина — неправильная настройка SMTP или конфликт с другими плагинами, влияющими на отправку почты.

Для диагностики проблемы выполните следующие действия:

  • Проверьте журнал ошибок сервера на наличие ошибок отправки почты.
  • Убедитесь, что SMTP-сервер доступен, а логин и пароль корректны.
  • Отключите все плагины, связанные с почтой, кроме SMTP-плагина.
  • Проверьте, не блокируется ли порт SMTP на сервере хостинга (обычно 465 или 587).
  • Включите отладку почты в WordPress, добавив в wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
add_action('wp_mail_failed', function($wp_error) {
    error_log('Mail error: ' . print_r($wp_error, true));
});

Логи будут писаться в wp-content/debug.log. Там ищите сообщения об ошибках отправки.

Пошаговое решение: как правильно настроить SMTP для WooCommerce

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

Рекомендуется использовать плагин WP Mail SMTP (https://wordpress.org/plugins/wp-mail-smtp/) — он проверен, поддерживает основные почтовые сервисы и имеет отладчик.

2. Конфигурация SMTP

В настройках плагина заполните параметры SMTP вашего почтового сервера:

  • SMTP Host: например, smtp.gmail.com
  • SMTP Port: 465 (SSL) или 587 (TLS)
  • Encryption: SSL или TLS
  • Authentication: включена
  • Username и Password: данные от почтового аккаунта

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

SMTP Host: smtp.gmail.com
SMTP Port: 587
Encryption: TLS
Authentication: on
Username: your-email@gmail.com
Password: your-app-password

Важно: для Gmail используйте пароль приложения.

3. Тестирование отправки почты

В плагине WP Mail SMTP есть встроенный тестовый отправитель. Отправьте тестовое письмо на свой адрес. Если письмо не приходит, в логах ищите ошибки.

4. Настройка WooCommerce для использования SMTP

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

Проверка результата: как убедиться, что письма отправляются

  • Отправьте тестовое письмо через WP Mail SMTP.
  • Сделайте тестовый заказ в WooCommerce и проверьте, пришло ли уведомление на email администратора и покупателя.
  • Проверьте логи ошибок WordPress (wp-content/debug.log) на отсутствие ошибок отправки.

Частые ошибки при настройке SMTP и как их исправить

  • Ошибка аутентификации SMTP: проверьте правильность логина и пароля, используйте пароль приложения для Gmail.
  • Порт заблокирован хостингом: обратитесь в поддержку хостинга, попросите разрешить порты 465 или 587.
  • Конфликт плагинов: отключите плагины, которые влияют на почту (например, другие SMTP, плагины безопасности).
  • SSL-сертификат: если используется SSL, убедитесь, что сертификат корректен и не просрочен.
  • Письма попадают в спам: настройте SPF, DKIM и DMARC для вашего домена (этот вопрос выходит за рамки статьи, но критически важен).

Практические советы по безопасности и производительности

  • Не храните SMTP-пароли в открытом виде в коде — используйте безопасные настройки плагина или .env файлы.
  • Регулярно обновляйте SMTP-плагин и WordPress до последних версий.
  • Для больших магазинов с высокой нагрузкой используйте специализированные SMTP-провайдеры (SendGrid, Mailgun), чтобы избежать ограничений по отправке.
  • Отключите PHP mail() функцию, чтобы избежать конфликтов, добавив в php.ini или через хостинг.

Сравнение вариантов отправки писем в WooCommerce

МетодПлюсыМинусыРекомендации
PHP mail()Простая настройка, работает из коробкиВысокий риск попадания в спам, нестабильностьИспользовать только для тестов
SMTP через плагин (WP Mail SMTP)Надежная доставка, поддержка логов и отладкиТребует настройки, возможны проблемы с блокировками портовЛучший вариант для большинства сайтов
API почтовых сервисов (SendGrid, Mailgun)Высокая производительность, масштабируемостьСложнее в настройке, возможны дополнительные расходыДля крупных проектов и магазинов
Как создать собственный AJAX-хендлер в WordPress
01.01.2026
Использование Custom Post Status для автоматизации обработки заказов в WooCommerce
15.07.2026
WooCommerce: решение проблем с лимитом AJAX-запросов при больших заказах
11.07.2026
WooCommerce: как избежать проблем с размерами изображений в корзине
05.05.2026
Как установить и настроить выравнивание изображений в WordPress правильно
13.11.2025