SMTP в WordPress: полная настройка Gmail, Mailgun, SendGrid за 7 шагов
Почему стоит использовать SMTP в WordPress
Отправка писем через стандартную функцию wp_mail() часто приводит к попаданию сообщений в спам. SMTP‑серверы гарантируют аутентификацию, шифрование и более высокий рейтинг доставляемости.
Выбор плагина для SMTP
Самый простой способ – установить один из популярных плагинов. Ниже перечислим три проверенных решения:
- WP Mail SMTP – официально поддерживается WP Engine, имеет готовые интеграции с Gmail, Mailgun, SendGrid и Amazon SES.
- Easy WP SMTP – лёгкий, без лишних функций, подходит для небольших проектов.
- Post SMTP Mailer/Email Log – отличный логгер и поддержка OAuth 2.0.
После установки плагина перейдите в Настройки → WP Mail SMTP и выберите нужный сервис.
Настройка Gmail SMTP
Шаг 1 – подготовка аккаунта Google
- Включите «Менее безопасные приложения» (если используете обычный пароль) или создайте App Password в разделе Безопасность → Двухэтапная проверка.
- Запишите полученный пароль – он понадобится в плагине.
Шаг 2 – ввод данных в плагине
add_action( 'phpmailer_init', function( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.gmail.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587;
$phpmailer->Username = 'yourname@gmail.com';
$phpmailer->Password = 'YOUR_APP_PASSWORD';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'yourname@gmail.com';
$phpmailer->FromName = 'Ваш сайт';
} ); Сохраните настройки и отправьте тестовое письмо из раздела плагина.
Настройка Mailgun
Шаг 1 – регистрация и получение API‑ключа
Создайте аккаунт на Mailgun, добавьте домен и скопируйте Private API Key и SMTP‑сервер (например, smtp.mailgun.org).
Шаг 2 – конфигурация в плагине
add_action( 'phpmailer_init', function( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.mailgun.org';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587;
$phpmailer->Username = 'postmaster@yourdomain.com';
$phpmailer->Password = 'YOUR_MAILGUN_PRIVATE_KEY';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'no-reply@yourdomain.com';
$phpmailer->FromName = 'Ваш бренд';
} ); Mailgun позволяет отслеживать открытие и клики, что удобно для маркетинговых рассылок.
Настройка SendGrid
Шаг 1 – получение API‑ключа
Войдите в SendGrid, создайте ключ с правами Mail Send и скопируйте его.
Шаг 2 – подключение через SMTP
add_action( 'phpmailer_init', function( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.sendgrid.net';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587;
$phpmailer->Username = 'apikey'; // фиксированное значение
$phpmailer->Password = 'YOUR_SENDGRID_API_KEY';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'info@yourdomain.com';
$phpmailer->FromName = 'Ваш сайт';
} ); SendGrid предлагает бесплатный тариф до 100 е‑мейлов в день – идеально для стартапов.
Amazon SES (опционально)
Если нужен масштабируемый сервис, Amazon SES – хороший выбор. Требует подтверждения домена и создания IAM‑пользователя с правами AmazonSESFullAccess. Пример кода:
add_action( 'phpmailer_init', function( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'email-smtp.us-east-1.amazonaws.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587;
$phpmailer->Username = 'YOUR_AMAZON_SMTP_USERNAME';
$phpmailer->Password = 'YOUR_AMAZON_SMTP_PASSWORD';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'no-reply@yourdomain.com';
$phpmailer->FromName = 'Ваш бренд';
} ); SES отлично подходит для массовых рассылок с низкой стоимостью.
Устранение типичных проблем доставки
- Письма попадают в спам – проверьте SPF, DKIM и DMARC записи в DNS. Подробнее о DNS‑записях читайте в нашем гиде по продвинутым полям.
- Тайм‑аут соединения – убедитесь, что ваш хостинг не блокирует исходящие 587/465 порты. Смотрите советы по ускорению админки – иногда проблема в медленном отклике сервера.
- Ошибка 550 – Relaying denied – проверьте правильность логина/пароля и включённую аутентификацию.
- Проблемы с HTML‑шаблонами – используйте
wpautop()и проверяйте, что письма отправляются в UTF‑8.
Если после всех правок письма всё равно не доходят, рекомендуется выполнить сканирование сайта на наличие вредоносного кода – см. руководство по удалению вирусов.
Best‑practice: логирование и тестирование
Включите логирование в выбранном плагине (обычно «Enable email logs»). После каждой отправки проверяйте журнал, чтобы быстро находить ошибки. Для тестов используйте сервис mail‑tester.com – он покажет ваш балл по SPF/DKIM и укажет на возможные проблемы.
Итоги
Настройка SMTP в WordPress – это минимум 7 минут, а результатом будет надёжная доставка писем, улучшенный репутационный рейтинг и меньше жалоб от пользователей. Выберите сервис, который соответствует бюджету и объёму рассылок, настройте плагин, проверьте DNS‑записи и наслаждайтесь стабильной работой почты.
Смотрите также
- Дочерняя тема WordPress – пошаговое руководство
- Redis кэширование объектов для ускорения сайта
- Оптимизация Core Web Vitals в WordPress
❓ Часто задаваемые вопросы
Как включить OAuth 2.0 для Gmail в WP Mail SMTP?
В настройках плагина включите «Google / Gmail» и создайте проект в Google Cloud Console, получив Client ID и Client Secret. После авторизации плагин будет использовать токен вместо пароля.
Почему письма с Amazon SES попадают в спам, хотя SPF и DKIM настроены?
SES может требовать «Production Access». До его получения все письма отправляются в sandbox‑режим, где получатели ограничены и могут быть помечены как спам.
Можно ли использовать несколько SMTP‑провайдеров одновременно?
Да, с помощью фильтра phpmailer_init можно переключать настройки в зависимости от типа письма (например, транзакционные через SendGrid, маркетинговые через Mailgun).
Как проверить, что письма действительно отправляются через выбранный SMTP‑сервер?
Включите логирование в плагине и отправьте тестовое письмо. В логе будет указано имя хоста, порт и использованные учетные данные.