
🔧 Чому WordPress не надсилає листи і як це виправити
Ви перевірили пошту, а там порожньо. Ні листа зі скиданням пароля, ні сповіщення про замовлення, ні тестового повідомлення з контактної форми. Клієнти пишуть у підтримку, а відповіді не доходять. WordPress мовчить, і незрозуміло, в чому річ.
Проблема до болю знайома кожному, хто запускав сайт на WordPress. Поштовий сервер за замовчуванням працює через mail(), вбудовану функцію PHP. Хостинг-провайдери часто блокують її, а листи потрапляють у спам або не надсилаються взагалі.
Спойлер: це лікується за 15-20 хвилин налаштуванням SMTP-сервера. Далі, покроковий розбір причин, діагностика та два робочі способи налаштування: через Gmail API та через Mailgun. Без паніки, з ілюстраціями.
💡 Швидкий огляд:
- Перевіряємо, чи живий поштовий сервер WordPress, плагін
Check Emailза хвилину покаже реальну картину - Дізнаємося, чому
mail()ненадійний і як SMTP вирішує проблему - Налаштовуємо Gmail SMTP з OAuth 2.0, покроково, від консолі Google до зеленого статусу
- Підключаємо Mailgun через
WP Mail SMTP, для сайтів із трафіком, яким потрібно понад 100 листів на добу - Розбираємо часті питання: чому листи потрапляють у спам, який порт обрати, що робити з помилкою автентифікації
Чому WordPress не надсилає листи
WordPress за замовчуванням використовує функцію wp_mail(), яка всередині викликає PHP-функцію mail(). Проблема в тому, що mail() — це найпростіший механізм без автентифікації. Сучасні поштові сервіси, як-от Gmail, Yahoo та Outlook, вимагають шифрування та перевірки відправника. Без них лист або блокується хостингом, або позначається як спам приймаючою стороною.
Друга часта причина, відсутність DKIM і SPF-записів у DNS. Це цифрові підписи, які повідомляють поштовим серверам: «відправник справжній, лист не підробка». Без них той самий Gmail відправить ваше повідомлення прямісінько до теки «Спам».
Нарешті, винними можуть бути плагіни. Деякі антиспам-рішення та плагіни контактних форм перехоплюють чергу листів і блокують «підозрілі» відправлення. Особливо це стосується масових розсилок, для них mail() не годиться в принципі.
Як перевірити роботу поштового сервера WordPress
Перш ніж лізти в налаштування SMTP, виключіть варіант із мертвим mail(). Плагін Check Email робить саме це: надсилає тестовий лист через стандартний механізм WordPress і показує результат.
Встановіть Check Email з репозиторію WordPress (Plugins → Add New → введіть «Check Email»), активуйте та перейдіть у Tools → Check Email. Введіть свою адресу, натисніть «Send test email», і за кілька секунд побачите звіт.

Перевірте теки «Вхідні» та «Спам». Якщо лист надійшов, mail() працює і проблема в конкретному плагіні (контактна форма, WooCommerce). Зверніться до підтримки того плагіна. Якщо листа немає, mail() заблокований хостингом, потрібен SMTP.
Як налаштувати SMTP через Gmail у WordPress
SMTP (Simple Mail Transfer Protocol) — це протокол з автентифікацією та шифруванням. На відміну від голого mail(), листи через SMTP проходять перевірку справжності, не блокуються хостингом і рідко потрапляють у спам.
Перший спосіб, плагін Gmail SMTP, який підключає WordPress напряму до вашого облікового запису Google через OAuth 2.0. У нього понад 100 відгуків на WordPress.org і регулярні оновлення. Безкоштовна версія дозволяє надсилати до 100 листів на добу, для невеликого сайту чи блогу цього достатньо.
Встановіть Gmail SMTP з офіційного репозиторію WordPress, активуйте.

Далі потрібна Google Cloud Console. Перейдіть на console.cloud.google.com, створіть новий проєкт.

У бічному меню виберіть «APIs & Services» → «Credentials», натисніть «Create Credentials» і виберіть «OAuth client ID». Система попросить налаштувати екран згоди, вкажіть тип «External» і заповніть обов'язкові поля (назва застосунку, email підтримки). Натисніть «Save and Continue».

Поверніться до створення OAuth client ID: тип застосунку, «Web application», назва, «Gmail SMTP».

Тепер перемкніться назад до адмінки WordPress: у налаштуваннях плагіна Gmail SMTP скопіюйте Authorized Redirect URL.

Поверніться до консолі Google, вставте скопійовану URL-адресу в поле «Authorized redirect URIs», збережіть. Після збереження з’явиться вікно з Client ID і Client Secret, скопіюйте обидва значення та вставте у відповідні поля плагіна.
Вкажіть Gmail-адресу, з якої надсилатимуться листи (ту саму, під якою створювали проєкт), заповніть поле «From Email Address», задайте «From Name» (назву вашого сайту). Порт SMTP, 587 для TLS. Якщо використовуєте SSL-сертифікат, ставте 465. Натисніть «Save Changes», потім «Grant Permission» і пройдіть автентифікацію Google.

Після успішного надання дозволу в плагіні засвітиться зелений статус «Connected». Надішліть тестовий лист, якщо він надійшов, усе готово.
Як налаштувати Mailgun для надсилання листів у WordPress
Якщо сайту потрібно понад 100 листів на добу і ви хочете надійну інфраструктуру доставки, зверніть увагу на Mailgun. Це поштовий сервіс для розробників із безплатним тарифом до 100 листів на день (вхідні безплатно), а платні плани стартують від $35 на місяць за 50 000 листів. Головний плюс, детальна аналітика доставки: ви бачите, чи відкрито лист, чи потрапив він у спам.

Зареєструйтеся на mailgun.com. Після створення облікового запису додайте домен, Mailgun запропонує ввести піддомен (наприклад, mg.vash-sait.ru) і видасть DNS-записи: TXT для верифікації, MX для маршрутизації листів і CNAME для відстеження відкриттів.
Зайдіть у панель хостингу (cPanel, ISPmanager або аналог), відкрийте DNS-редактор і додайте видані Mailgun записи:
- TXT-запис: Name, ваш піддомен, Type, TXT, TTL, 14400, TXT Data, значення з панелі Mailgun
- MX-запис: у розділі «MX Entry» пропишіть пріоритет і destination з Mailgun
- CNAME: для відстеження відкриттів і кліків
DNS оновлюється від кількох хвилин до 48 годин. Статус перевіряйте в розділі «Domains» панелі Mailgun, коли засвітиться «Active», можна рухатися далі.
Для зв’язки Mailgun із WordPress встановіть WP Mail SMTP, найпопулярніший SMTP-плагін із понад 3 мільйонами активних встановлень. Перейдіть у Settings → WP Mail SMTP, у «From Email» вкажіть адресу на вашому домені, у «From Name», назву сайту. У полі «Mailer» оберіть «Mailgun».

Вставте Private API Key із панелі Mailgun (розділ «API Keys») і доменне ім’я, яке реєстрували. Увімкніть опцію «Set the return path to match the From Email» — це вирівнює зворотну адресу та знижує ймовірність потрапляння в спам. Натисніть «Save Settings» і надішліть тест через вкладку «Email Test».
Відеоінструкція: налаштування SMTP у WordPress
Якщо зручніше дивитися, а не читати, ось відеоурок із налаштування SMTP у WordPress, від встановлення плагіна до першого надісланого листа:
⁉️🤔 Часті запитання
Чому листи з WordPress потрапляють у спам, навіть якщо SMTP налаштовано?
Найчастіше проблема у відсутності SPF і DKIM-записів у DNS домену. Без них поштовий сервер отримувача не може перевірити, що саме ваш сервер має право надсилати листи з цього домену. Додайте TXT-запис SPF (
v=spf1 include:_spf.google.com ~allдля Gmail або аналогічний для Mailgun) і DKIM-ключ із панелі поштового сервісу. Другий фактор, репутація IP: на дешевому хостингу IP-адреса могла бути помічена в спам-розсилках до вас.
Який SMTP-порт обрати: 587 чи 465?
Порт
587з TLS — це сучасний стандарт, рекомендований IETF для клієнтського надсилання листів. Порт465з SSL, застаріла альтернатива, яку досі підтримують багато провайдерів для сумісності. Ставте587з TLS, якщо поштовий сервіс явно не вимагає465.
Плагін Gmail SMTP видає помилку автентифікації. Що робити?
Три найчастіші причини: не збігаються URL редиректу (перевірте, що в консолі Google і плагіні одна й та сама адреса), застосунок у Google Cloud перебуває в статусі «Testing» (переведіть у «Production» або додайте ваш Gmail до списку тестових користувачів), або ввімкнено двофакторну автентифікацію Google без пароля застосунку (створіть пароль застосунку в налаштуваннях безпеки Google).
Чи можна надсилати масові розсилки через Gmail SMTP?
Ні. У Gmail жорсткі ліміти: 100 листів на добу через плагін
Gmail SMTP, до 2000 через Google Workspace. Для email-маркетингу та регулярних розсилок використовуйте Mailgun, Brevo (колишній Sendinblue) або SendGrid, у них є інтеграції з WordPress і виділена інфраструктура доставки.
Чи потрібен платний тариф Mailgun для невеликого сайту?
Безплатного тарифу Mailgun (100 листів на день) вистачає середньостатистичному сайту: сповіщення WooCommerce про замовлення, скидання паролів, підтвердження реєстрацій, листи з контактної форми. Платний план має сенс, коли добовий обсяг перевалює за сотню або потрібна аналітика відкриттів зі зберіганням логів довше ніж 24 години.
Чому не варто покладатися на вбудовану mail() у WordPress?
Функція
mail()не автентифікує відправника, не шифрує з’єднання і не додає DKIM/SPF-підписів. Більшість хостинг-провайдерів або блокують її на рівні сервера (через ризик спам-атак), або пропускають трафік через спільні IP з низькою репутацією. Результат: листи не доходять у значній частині випадків, а ті, що доходять, часто позначаються як спам.
Чи варто переходити на SMTP прямо зараз
Якщо з сайту не йдуть листи скидання пароля, клієнти не отримують сповіщення про замовлення, а контактна форма мовчить, відповідь однозначна: SMTP потрібен сьогодні. Це не питання «чи варто» — це питання «який саме».
Для особистого блогу та сайту-візитівки вистачить зв’язки Gmail SMTP + ваш Gmail-акаунт. Налаштували за 20 хвилин і забули. Для сайту з товарами, курсами або користувачами беріть WP Mail SMTP + Mailgun: безплатний тариф покриває потреби типового інтернет-магазину, а аналітика доставки підкаже, якщо щось піде не так.
Не відкладайте. Поки ви читаєте цей абзац, чийсь клієнт не отримав листа з підтвердженням. SMTP вирішує це раз і назавжди.



