Wordpress не надсилає пошту - вирішено

Помітив що перестали приходити листи від WordPress блогу.
Вирішив розібратися в чому ж справа.

Wordpress не надсилає пошту - вирішено

І то що я побачив мене трохи засмутило.


Раніше я завжди вважав що WordPress розробляє команда професіоналів, періодично виходять різні оновлення, після установки яких розповідається як же багато багів знайдено і Виправлено.







Однак судячи з проблеми з відправкою пошти з вордпресс цей баг старий і коректно усунути розробники WordPress не хочуть, можливо просто не звертають на нього уваги (і так зійде, так як проблему частково вирішують плагіни).

PHP Fatal error: Uncaught exception 'phpmailerException' with message 'Invalid address: [email protected]' in /site/www/wp-includes/class-phpmailer.php:946\nStack trace: \ n # 0 / site / www /wp-includes/pluggable.php(352): PHPMailer-> setFrom ( 'wordpress @ nemcd.', 'WordPress') \ n # 1

Я знайшов три рішення проблеми з не відправкою пошти з WordPress, одне з них мені допомогло.

рішення
1. Найпростіше - потрібно створити на хостингу пошту виду wordpress @ вашдомен, деяким таке допомагає, це рішення в кілька кліків, але у нього є невеликі недоліки. Розповім докладніше.

Зараз поштові гіганти (наприклад Google з GMail, MailRU, Яндекс) застосовують різні способи боротьби зі спамом, наприклад SPF і DKIM. І з цими технологіями вам потрібно розібратися і правильно налаштувати, щоб листи від вашого блогу швидко і чітко доставлялися, не потрапляли в спам та й взагалі щоб не пропадали в нікуди.

Щоб уникнути цього всього головняка, простіше і можливо правильніше завести окрему поштову скриньку для блогу і відправляти листи використовуючи його.

Плавно підходимо до інших варіантів - відправлення листів через сторонній SMTP сервер (на прикладі smtp.gmail.com)







2. Виправлення вихідного коду сайту.

Люди додають в PHPMailer (wp-includes / class- [phpmailer | smtp | pop] .php) підтримку SSL / TLS сполук і прописують туди даний пошти, наприклад, GMail

Я пробував, у мене не вийшло, та й цей метод не дуже, адже при оновленні версії WordPress файл може перезаписати і доведеться робити зміни знову.

3. Установка і настройка спеціального плагіна для відправки пошти.

Таких полігонів багато, я спробував штуки 4, але коректно заробив тільки один!

Я навіть створював в пошті GMail API з доступом, але теж все було марно, виявилося можна зробити простіше.

SMTP: Failed to connect socket: Unable to find the socket transport "ssl"

Вирішуємо проблему - при відправці пошти WordPress видає помилку і листи не доходять.

Мені допоміг плагін XPertMailer.

Wordpress не надсилає пошту - вирішено

Wordpress не надсилає пошту - вирішено

Ви можете подумати, що я не зміг правильно налаштувати інші плагіни, дуже навряд чи, тому що там потрібні були базові настройки пошти - smtp сервер, порт, логін, пароль до пошти, нічого хитрого ці параметри у мене є і вводив я їх правильно і не один раз.

З плагіном XPertMailer у мене відправка пошти вийшла з першого разу.

Довелося трохи повозитися з виправленням кодування, однак все швидко вирішилося.

Встановлюємо XPertMailer звичайним способом - Модулі - Додати новий - Пошук плагінів - XPertMailer.

Налаштовуємо і активуємо поштовий плагін.

Мій приклад для пошти Gmail

Wordpress не надсилає пошту - вирішено

Можна спробувати відправити собі тестовий лист.

Трохи пізніше ви зіткнетеся, з тим, що листи приходять з неправильною кодуванням українських букв, тобто в листі кракозябрами.

Я замінив один рядок в XPM4 \ PHP5 \ MIME5.php і український тест в тілі листа став приходити правильно.

const MCHARSET = 'utf-8';

Виправляємо xpertmailer-advanced-php-mail-engine bad codepage

Wordpress не надсилає пошту - вирішено







Схожі статті