Как изменить метод отправки писем в WordPress: настройка SMTP и альтернативные решения

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

Почему важно менять метод отправки писем в WordPress

Проблемы с доставкой электронной почты — одна из частых технических сложностей при работе с WordPress. По умолчанию:

  • Письма могут не проходить аутентификацию SPF, DKIM, что приводит к попаданию в спам.
  • Функция mail() зависит от конфигурации сервера, на котором запущен сайт.
  • Нет возможности использовать внешние SMTP-сервисы с авторизацией и шифрованием.

Поэтому переход на SMTP или специализированные API для отправки почты значительно повышает шансы на успешную доставку.

Настройка SMTP в WordPress с помощью плагинов

Популярные плагины для SMTP

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

  • WP Mail SMTP — один из самых популярных и простых плагинов для настройки SMTP. Поддерживает Gmail, Mailgun, SendGrid, Outlook и другие сервисы.
  • Easy WP SMTP — легкий и удобный плагин для подключения любого SMTP-сервера с авторизацией.
  • Post SMTP Mailer/Email Log — расширенный плагин с логированием писем и возможностью отправлять через разные сервисы.

Пример настройки WP Mail SMTP

После установки и активации WP Mail SMTP зайдите в Настройки > WP Mail SMTP и заполните поля:

  • From Email — email, от имени которого будут отправляться письма.
  • From Name — имя отправителя.
  • Mailer — выберите SMTP.
  • SMTP Host — адрес SMTP-сервера, например smtp.gmail.com.
  • SMTP Port — порт, обычно 465 (SSL) или 587 (TLS).
  • Encryption — SSL или TLS.
  • Authentication — включите и укажите логин и пароль SMTP-сервера.

После сохранения настроек можно отправить тестовое письмо из интерфейса плагина, чтобы проверить работоспособность.

Изменение метода отправки писем программно

Переопределение функции wp_mail с использованием PHPMailer

Если не хочется использовать плагины, можно программно изменить метод отправки, добавив в файл functions.php темы или в кастомный плагин следующий код:

add_action('phpmailer_init', 'wpbloger_phpmailer_smtp');
function wpbloger_phpmailer_smtp($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.gmail.com';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 587;
    $phpmailer->Username = 'your-email@gmail.com';
    $phpmailer->Password = 'your-email-password';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From = 'your-email@gmail.com';
    $phpmailer->FromName = 'WPBloger';
}

Этот код заставляет PHPMailer использовать SMTP при отправке писем. Не забудьте заменить параметры на свои.

Логирование отправленных писем

Для отладки полезно сохранять логи отправленных писем. Можно добавить простой фильтр:

add_filter('wp_mail', 'wpbloger_log_wp_mail');
function wpbloger_log_wp_mail($args) {
    $log = "Отправка письма: \n" . print_r($args, true);
    error_log($log);
    return $args;
}

Логи будут появляться в стандартном логе PHP или error_log сервера.

Использование внешних сервисов для отправки почты

Mailgun, SendGrid, Amazon SES

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

  • Mailgun — простой API и SMTP, бесплатный тариф с ограничением.
  • SendGrid — удобный сервис с поддержкой API и SMTP, бесплатный тариф.
  • Amazon SES — мощный и дешевый сервис для больших объемов почты.

Для интеграции с такими сервисами чаще всего используют официальные плагины или WP Mail SMTP, где в качестве SMTP-сервера указывается адрес сервиса.

Пример настройки SMTP для Mailgun в WP Mail SMTP

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

  • SMTP Host: smtp.mailgun.org
  • SMTP Port: 587 (TLS)
  • Username: SMTP login из панели Mailgun
  • Password: SMTP пароль

Не забудьте настроить DNS-записи SPF, DKIM и DMARC для вашего домена, чтобы повысить доверие к письмам.

Рекомендации и лучшие практики

Для стабильной работы почты в WordPress следуйте рекомендациям:

  • Используйте SMTP или специализированные сервисы вместо функций mail().
  • Настройте SPF, DKIM, DMARC-записи для домена.
  • Тестируйте отправку писем после изменений.
  • Логируйте ошибки и неудачные отправки.
  • Не храните пароли в открытом виде, используйте константы или защищенные переменные окружения.

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

Для автоматизации и расширения функционала отправки писем можно обратить внимание на плагин WP Mail SMTP из магазина WPSHOP, который оптимально решает задачи с SMTP и поддерживает интеграции с популярными почтовыми сервисами.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как сделать автоматический импорт постов из JSON в WordPress
01.01.2026
Оптимизация базы данных WordPress: практические советы и примеры
18.11.2025
Как автоматизировать создание резервных копий WordPress: практические советы и примеры
27.11.2025
Как избежать проблем с разрешениями при загрузке медиафайлов в WordPress
18.05.2026
Как создать автоматические уведомления о обновлениях тем и плагинов WordPress
28.12.2025
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше