0

Вордпресс не отправляет письма

Нередко пользователи WordPress сталкиваются с проблемой доставки e-mail. Это случается, когда, например, контактная форма не отправляет электронные письма пользователям или администратору сайта не приходят уведомления об отправке, о новых комментариях или созданных резервных копиях.

Наиболее частыми причинами этому являются, например, неправильные настройки сайта или ограничения хостинга.

Неправильные настройки сайта

Иногда случается, что в настройках WordPress-сайта указан неправильный или несуществующий адрес электронной почты, от имени которого и на который должны отправляться письма. Это довольно просто проверить, перейдя в админ-раздел Настройки -> Общие. На странице общих настроек, в поле Адрес e-mail, нужно удостовериться в правильности указанного адреса.

Ограничения хостинга

Часто владельцы WordPress-сайтов используют в качестве основного e-mail-адреса почтовый ящик, созданный на хостинге. Иногда из-за выставленных лимитов сервера письма с таких ящиков могут не отсылаться. Обычно такое происходит на дешевых виртуальных хостингах. Эти ограничения указываются в списке доступных услуг того или иного тарифного плана хостинга. Кроме того, эти лимиты можно выяснить, обратившись в техподдержку.

Как в WordPress настроить отправку почты?

Что же делать, если ничего не помогает, и почта не отправляется вообще? Для корректной работы почты в WordPress рекомендуется использовать SMTP (Simple Mail Transfer Protocol). Этот протокол относится к отраслевым стандартам, и в отличие от функции mail(), использует аутентификацию, которая повышает вероятность доставки электронной почты.

Плагин WP Mail SMTP

В большинстве случаев почтовые системы, будь то инструменты хостинга или сторонние сервисы (например, Gmail), обеспечивают работу отправки/приема электронной почты по протоколу SMTP.

Особенностью плагина WP Mail SMTP является возможность использования внешнего SMTP-сервера. Можно даже, например, создать бесплатный почтовый ящик на Gmail и использовать общий SMTP-сервер от Google.

Для начала плагин WP Mail SMTP нужно установить и активировать, после чего перейти в админ-раздел Настройки -> WP Mail SMTP на страницу настроек.

Видно, что плагин имеет небольшое количество настроек, и все они довольно понятные. Итак, в поле От (адрес) нужно ввести адрес e-mail, который будет использоваться для отправки писем с сайта.

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

В настройке Метод отправки почты задается адрес того самого SMTP-сервера. Видно, что в плагине есть уже предустановленные сервера от самых популярных почтовых систем (Gmail, Mailgun, SendGrid). Если Вы будете использовать какой-либо другой SMTP-сервер, то для этого нужно отметить пункт Прочие SMTP. В итоге появится форма, в которой нужно будет ввести необходимые данные для подключения к внешнему SMTP-серверу. Тут нужно указать адрес сервера, порт, шифрование. Для применения всех настроек нужно нажать кнопку Сохранить настройки.

Читайте также:  Защита от вирусов и шпионских программ

Для проверки работы можно отправить тестовое письмо. Для этого нужно перейти на вкладку Проверка почты, ввести адрес e-mail и нажать кнопку Отправить email.

Заметил что перестали приходить письма от WordPress блога.
Решил разобраться в чем же дело.

И то что я увидел меня немного расстроило.

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

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

Суть проблемы проста — если у вас в настройках установлено отправлять на почту новые комментарии (например на модерацию), то WordPress пытается отправить письмо от почты wordpress@вашдомен — это действие получается не на всех хостингах. В моем случае apache писал в лог ошибку, вот ее часть

PHP Fatal error: Uncaught exception ‘phpmailerException’ with message ‘Invalid address: wordpress@nemcd.com’ in /site/www/wp-includes/class-phpmailer.php:946
Stack trace:
#0 /site/www/wp-includes/pluggable.php(352): PHPMailer->setFrom(‘wordpress@nemcd. ‘, ‘WordPress’)
#1

Т.е. что-то сообщало что почта wordpress@вашдомен неправильная, ее как бы нет, поэтому ошибка и в таком духе. Естественно в админке этой ошибки нигде видно не было и если не искать, то и не заметишь что что-то не так.

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

Решения
1. Самое простое — нужно создать на хостинге почту вида wordpress@вашдомен, некоторым такое помогает, это решение в несколько кликов, но у него есть небольшие недостатки. Расскажу подробнее.

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

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

Плавно подходим к другим вариантам — отправка писем через сторонний SMTP сервер (на примере smtp.gmail.com)


Добавлено: 13.11.2016
Жаль сразу не дописал статью, сейчас многие детали уже подзабыл, но главную идею помню как сделал. Постараюсь дописать, возможно кому-то поможет

2. Правка исходного кода сайта.

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

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

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

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

Я уже было потерял веру, надоело пробовать, настраивать плагины, читать описания и получать одно и тоже, однако я не сдался и нашел работающий способ

Читайте также:  Как включить freesync на nvidia

Точно не помню названия плагинов с которыми не получилось, но это были топовые плагины из рейтинга и из обзоров. Кстати там были комментарии от других пользователей, что не получается отправка, возможно плагины не работали с новой версией Вордпресса.

Я даже создавал в почте GMail API с доступом, но тоже все было напрасно, оказалось можно сделать проще.

SMTP: Failed to connect socket: Unable to find the socket transport “ssl”

Решаем проблему — при отправке почты WordPress выдает ошибку и письма не доходят.

Мне помог плагин XPertMailer.

Самое интересное, что плагин старинный, версия 0.1beta от 2007 года, но он реально работает! В отличии от многих навороченных плагинов, которые я пробовал.

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

С плагином XPertMailer у меня отправка почты получилась с первого раза.

Пришлось немного повозиться с исправлением кодировки, однако все быстро решилось.

Устанавливаем XPertMailer обычным способом — Плагины — Добавить новый — Поиск плагинов — XPertMailer.

Настраиваем и активируем почтовый плагин.

Мой пример для почты Gmail

Можно попробовать отправить себе тестовое письмо.

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

Я начал читать хелпы и мануалы, чтобы найти как исправить кракозябру.

Я заменил одну строку в XPM4PHP5MIME5.php и русский тест в теле письма стал приходить правильно.

const MCHARSET = ‘utf-8’;

Исправляем xpertmailer-advanced-php-mail-engine bad codepage

После этих не сложных действий блог обрел былую способность рассылать письма с комментариями. Ура!

Мы предлагаем:

Тариф "Минимальный"

Новые тарифы хостинга – "Минимальный" и "Безлимитный"

Тариф "Минимальный"

– Всего 60 рублей за ГОД;

– Идеально подойдет небольшим сайтам;

– Поддержка популярных CMS

Тариф "Безлимитный"

190 рублей в месяц;

– Количество сайтов – не ограничено;

– Дисковое пространство – не ограничено;

– Базы данных – не ограничено;

Содержание

Пользователи WordPress иногда сталкиваются с проблемой доставки электронной почты, например, форма связи на сайте не отправляет электронные письма или администратору сайта не приходят уведомления об отправке. Как решить эту проблему и убедиться, что на IP-адрес сайта не наложены спам-фильтры?

Какие письма могут не отправляться (регистрация, заявка с сайта)?

Как правило, могут не приходить уведомления о комментариях, бекапах и регистрации пользователей на сайте, заявки с форм обратной связи и сведения о заказах. Все это затрудняет нормальное общение с посетителями, а в случае коммерческого сайта еще и грозит убытками за просроченные заказы.

К возможным причинам неправильного функционирования почты на сайте относятся следующие факторы:

    ваш хостинг-сервер не настроен на использование функции PHP mail(); в админке WordPress не указан электронный адрес администратора; на хостинге нет почтового ящика вида wordpress@имя-домена.
Читайте также:  Игры с аутичным ребенком

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

Проверка функции mail – приходят ли письма

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

Виртуальный хостинг сайтов для популярных CMS:

WordPress

Joomla

OpenCart

OcStore

PrestaShop

Drupal

Magento

Moodle

MODX Revo

DLE

InstantCMS

IPB

Если проверка хостера показывает, что PHP функция mail() может отправлять почту, но на вашей стороне проблема все еще не устранена, проверьте, может ли WordPress отправлять электронные сообщения. Для корректной работы почты рекомендуется использовать SMTP (Simple Mail Transfer Protocol) для отправления писем в WordPress. Этот протокол относится к отраслевым стандартам, в отличие от PHP функции mail(), SMTP использует аутентификацию, которая повышает вероятность доставки электронной почты.

Настройка WordPress плагина WP Mail SMTP для отправки писем

Плагин WP Mail SMTP перенастраивает конфигурацию функции wp_mail(), так чтобы вместо PHP mail() использовался SMTP. Зайдите в меню «Плагины -> Добавить новый», чтобы найти эту утилиту в репозитории WordPress.

После установки и активирования плагина в меню «Настройки» (1) появится дополнительный пункт «Email» (2), в котором задаются основные установки для функционирования электронной почты. Запишите электронный адрес для исходящей почты (3). Если поле оставить пустым, будет использован адрес, установленный по умолчанию. Укажите имя отправителя (4). При незаполненном поле будет указан отправитель WordPress. Выберите опцию для отправления всех писем через SMPT или PHP (5) и сохраните изменения (6).

Можно также указать хост и порт для отправки, задать способ шифрования данных и аутентификацию пользователя. Для проверки функционирования плагина используйте отправку тестового письма, указав адрес в соответствующем поле (7).

Письма попадают в спам

Даже если вы никогда не распространяли спам самостоятельно, электронные письма могли быть помечены как спам, если ваш IP-адрес использовался кем-то другим для спамной рассылки. Такая ситуация может возникнуть на виртуальных хостингах, где один IP-адрес используется сразу несколькими сайтами одновременно. Когда осуществляется отправка писем с вашего сайта, доставка электронной почты происходит через серверы вашего хостер-провайдера. Поэтому, если другой клиент на этом же хостинге рассылает спам, это может повлиять на доставку вашу почты.

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

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *