Wp mail smtp настройка


Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня будет статья по теме плагины для WordPress. Я стараюсь в этой рубрике касаться только самых полезных и необходимых расширений, но бывают такие ситуации, когда могут понадобиться возможности, позволяющие реализовать в этом движке то, что в нем уже имеется, но по каким-либо причинам не работает или работает не совсем так, как хотелось бы.

Wp mail smtp настройка

Вот сегодня я и хочу рассказать о парочке таких плагинов. Один из них реализует функцию отправки почты (называется Configure SMTP), а второй позволяет расширить возможности имеющегося в Вордпрессе Html редактора (Post Editor Buttons), для случая, если у вас по каким-либо причинам не работает визуальный.

Проблема отправки писем из WordPress и настройка почты

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


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

Итак, давайте начнем с решения проблемы отправки почты из WordPress, которая, например, у меня возникла после переезда на новый хостинг. До этого письма прекрасно отправлялись при помощи функции Php Mail, с работой которой, к сожалению, и возникли проблемы. Хотя во всем остальном Инфобокс, на котором сейчас базируется KtoNaNovenkogo.ru, заслуживает только хороших слов.

Причем о проблеме в работе почты я узнал от одного из читателей (отдельное спасибо ему за это), который пожаловался, что к нему не приходят сообщения о появлении нового комментария в теме, на которую он подписался через функционал WP плагина Subscribe To Comments.

Дело в том, что он реализует подписку на новые комментарии в WordPress и использует для отправки писем именно встроенный в Вордпресс механизм — функцию Php Mail, которая на новом хостинге имела проблемы с работоспособностью.


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

Таковых оказалось довольно много, но попробовав некоторые из них я все же остановил свой выбор на Configure SMTP. Он просто подкупает простотой настройки, а если в качестве транзитного E-mail использовать почтовый ящик на Gmail, описанный здесь, то вообще все сводится к тому, чтобы в его настройках указать название почтового ящика и пароль для доступа к нему.

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

  1. Распаковываете архив
  2. Копируете папку configure-smtp посредством FTP в директорию:
    /wp-content/plugins
  3. Заходите в админку, выбираете из меню пункт «Плагины», переходите на вкладку «Неактивные», находите строчку с плагином Configure SMTP и щелкаете по кнопке «Активировать»

Как я говорил чуть выше, удобнее всего в сочетании с ним будет использовать почтовый ящик на Gmail. Для этих целей лучше всего получить новый E-mail на сервисе Google, ибо вам придется указать в настройках плагина Configure SMTP пароль к этому ящику. Подробнее об этом можно прочитать в статье про Гугл аккаунт по этому адресу.


Wp mail smtp настройка

А памятуя о безопасности основного вашего E-mail и возможных последствиях проникновения в него, лениться с созданием нового ящика не стоит, во избежании проблем, которые возникли, например, у меня после несанкционированного доступа к моей почте, которые я описал в этой статье, про безопасность и защиту от взлома WebMoney кошельков.

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

Wp mail smtp настройка

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

Настройки плагина Configure SMTP

Для этого в админке выберите пункты «Параметры» — «SMTP»:

Wp mail smtp настройка

Если вы используете Гмайл, то вам достаточно будет поставить галочку в поле «Send e-mail via GMail», а затем ввести название ящика в поле «SMTP username» и пароль к нему в поле «SMTP password». Все, сохраняйте настройки и тестируйте работоспособность отправки писем из Вордпресс с помощью расположенной в самом низу кнопки «Send test e-mail».

После щелчка по ней в самом верху окна настройки появится сообщение о том, что вам отправлено тестовое сообщение (Test e-mail sent). Далее вы должны будете проверить наличие тестового письма в почтовом ящике администратора блога, который был вами указан в общих настройках WordPress в поле «Адрес e-mail» («Параметры» — «Общие»).


Wp mail smtp настройка

Кстати, я использую в качестве администраторского емайл вида admin@ktonanovenkogo.ru, который был создан не в панели управления хостинга, а на сервисе Google Apps, как это было описано здесь, и работать с этим почтовым ящиком, содержащим в своем названии доменное имя, я могу через интерфейс почты Гугла, что очень удобно, особенно в случае смены хостинга. Кстати, в свое время я описал получение почты для домена в Яндексе, что тоже является неплохим решением.

А тот почтовый ящик сервиса Gmail, пароль к которому вы вводили в настройках плагина, является всего лишь транзитным звеном, и там вашего тестового письма не будет. Он нужен лишь для реализации отправки почты с WordPress через SMTP, при возникновении проблем с работой стандартного варианта (функции Php Mail).

Давайте пробежимся по остальным настройкам плагина Configure SMTP, хотя они и не особо важные. Если вы использовали для трансляции почтовый ящик отличный от Гмэйл, то галочку в поле «Send e-mail via GMail» вам ставить не нужно, но зато потребуется кроме указания емайла и пароля к нему, еще указать и другие параметры, присущие этому почтовому сервису в полях со второго по пятое.


Далее в поле «Wordwrap length» можете указать количество символов, которое нужно будет ввести в письме до возникновения переноса строки, а в полях «Sender e-mail» и «Sender name» можете указать, какой Емайл будет указан в качестве обратного в полученном пользователем письме, а так же, что будет отображаться в поле «От кого» в данном письме. Если эти поля не заполнять, то будет взята информация из общих настроек WordPress.

ktonanovenkogo.ru

Минусы отправки писем через системный транспорт

Как было отмечено выше, отправка писем в WordPress, по умолчанию, работает без дополнительных настроек, но цена этому весьма высока.

Письма могут попадать в спам

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


Письмо, отправленное через системный транспорт, не содержит дополнительных электронных подписей, которые могут свидетельствовать о надежности и легитимности отправителя. Пожалуй, многие знают, что любой человек может отправить письмо с чужого адреса, например, с admin@wpmag.ru не имея какого-либо доступа к самому домену и сайту.

Отправка писем через почтовый сервис позволит автоматически добавлять DKIM-подписи, свидетельствующие о надежности и легитимности отправителя. Отправляющие сервера (SMTP-серверы) Яндекс Почты и Gmail автоматически добавляют DKIM-подписи к каждому письму. С ними лишь владелец домена (и закрытого ключа DKIM) может отправлять письма с верными DKIM-подписями.

DKIM-подписи не отменяют того, что кто-то другой сможет отправить письмо используя ваш адрес (admin@wpmag.ru), но принимающий почтовый сервер будет видеть, что письмо отправил кто-то другой, а не владелец домена.

SPF-записи устанавливаются в настройках домена (DNS) и позволяют владельцу домена показать почтовым сервисам с каких серверов могут отправляться письма этого домена. Каждый почтовый сервис предлагает свою собственную SPF-запись со своим списком серверов. Если вы отправляете письма через Яндекс почту и делаете рассылки через Mailchimp, то необходимо совместить их SPF-записи в одну.

Письма могут пропадать

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


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

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

Отправка писем через SMTP

Принципиальной разницы между отправкой через внешний почтовый сервис (Яндекс Почта, Gmail) или свой собственный SMTP-сервер нет. Это одно и тоже. Но если вы решили использовать свой собственный или выделенный хостингом SMTP-сервер, следует внимательно отнестись к его настройкам. Не забудьте установить правильные DKIM- и SPF-записи в настройках домена.

Google и Яндекс не запрещают отправку писем через свои сервера подобным образом, но имеют некоторые ограничения на количество отправляемых сообщений в день. Например, Gmail имеет явно указанное ограничение в 2000 писем в день. Яндекс не сообщает конкретных цифр, а служба поддержки намекнула, что этот показатель динамический.

Заметим, что на многих хостинг-площадках подключения к внешним серверам блокируются (информацию можно получить в поддержке хостинга или с помощью команды telnet


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

На личном опыте было замечено, что Яндекс Почта для домена не сохраняет письма отправленные через SMTP-сервер в папке исходящих сообщений, а Gmail сохраняет.

Плагин WP Mail SMTP

Все письма в WordPress отправляются с помощью функции wp_mail(), которая работает на популярной библиотеке PHP Mailer. Чтобы позволить WordPress и wp_mail() отправлять письма через SMTP-сервер необходимо установить и настроить плагин WP Mail SMTP из официальной директории WordPress.org.

Активировав плагин, перейдите в раздел Настройки → Email в панели управления.

Займемся настройкой на странице Advanced Email Options. Ниже указано описание и необходимые значения для каждого пункта.

From Email — адрес, с которого будут отправляться письма и на который получатель отправит ответ, нажав на кнопку «Ответить» в своей почте.

From Name — имя отправителя, можно указать название сайта или свое имя и фамилию.

Mailer — отправка писем через системный транспорт (функция mail()


) или через SMTP-сервер. Выбираем «Send all WordPress emails via SMTP».

SMTP Host — адрес SMTP-сервера. Можно узнать у службы поддержки или в справочном разделе. Для Яндекс Почты используйте smtp.yandex.ru, для Gmail — smtp.gmail.com.

SMTP Port — порт SMTP-сервера, зависит от типа шифрования (Encryption). Для Яндекс Почты и Gmail используйте порт 465.

Encryption — тип шифрования. Для Яндекс почты и Gmail необходимо установить «Use SSL encryption».

Authentication — требуется ли выполнять авторизацию на почтовом сервере. Устанавливаем «Yes: Use SMTP authentication».

Username — логин от почты. Как правило, полный адрес почтового ящика, должен совпадать со значением, указанным в поле From Email.

Password — пароль от почтового ящика.

Сохранив настройки, можно отправить тестовое письмо. Для этого введите адрес своего ящика и нажмите кнопку «Send Test». На указанный адрес будет отправлено небольшое письмо, а на экране появится служебная информация с результатами. Проверьте, пришло ли письмо на указанный адрес? Если нет, то что-то настроено неправильно и WordPress не сможет отправлять письма.


С помощью полученного тестового письма можно проверить корректно ли настроены DKIM и SPF. Для этого откройте исходный код письма. В Gmail это называется «Show Original». В Яндекс Почте «Свойства письма».

В заголовках письма должна содержаться строка «Authentication-Results». Если DKIM и SPF настроены правильно, то вы увидите spf=pass и dkim=pass.

Authentication-Results: mx.google.com;   spf=pass (google.com: domain of mail@armyofselenagomez.com designates 2a02:6b8:0:1630::18 as permitted sender) smtp.mail=mail@armyofselenagomez.com;   dkim=pass header.i=@armyofselenagomez.com  

Яндекс почта показывает зеленую галочку рядом с письмом, если DKIM-подпись верна.

wpmag.ru

Журнал изменений

1.4.1 — 2018-12-03

  • Исправлено: правильно теперь обрабатываем обратные слеши в пароле SMTP при использовании констант.
  • Изменено: разрешить отправку тестового письма при использовании стандартного отправщика писем.

1.4.0 — 2018-11-29

  • Добавлено: новая опция: Блокирование писем — блокировка отправки всех писем с сайта.
  • Добавлено: новая опция: возможность отправки тестового письма как в HTML, так и в виде простого текстового письма.
  • Добавлено: новая опция: выбор региона для Mailgun — US или EU (US по умолчанию для сохранения совместимости).
  • Исправлено: совместимость с WordPress 3.6+.
  • Исправлено: совместимость с WordPress 5.0.
  • Исправлено: использование констант гораздо более стабильное. Должно корректно работать на мульти-сайте (применяются для всей сети).
  • Исправлено: сохраняем multipart письма при использовании SendGrid/Mailgun.
  • Исправлено: улучшение безопасности плагина.
  • Изменено: заполняем поле получателя тестового письма имейлом авторизованного пользователя.
  • Изменено: обновление библиотек и их зависимостей: google/apiclient-services, google/auth, phpseclib/phpseclib.
  • Изменено: отображаем версию cURL при ошибках отправки писем с помощью Gmail.
  • Изменено: отображаем версию OpenSSL при ошибках отправки писем сс помощью Gmail/SMTP.
  • Изменено: отображаем версию плагина в консоли при ошибках в отправке писем.
  • Изменено: не разрешать отправлять тестовые письма, если отправщик не настроен корректно.
  • Изменено: уведомляние для админов о том, что Gmail не поддерживает переопределение имени и email отправителя писем.
  • Изменено: обновлен список всех констант с их описанием в главном файле плагина: wp_mail_smtp.php.
  • Изменено: TGMPA: изменение заголовков и меню с «Обязательно» на «Рекомендовано».

1.3.3 — 2018-07-05

  • Исправлено: совместимость с другими плагинами, использующими классы Google Service или Google Client.
  • Изменено: оптимизирована загрузка кода.

1.3.2 — 2018-06-29

  • Убедитесь, что другие плагины / темы не конфликтуют с нашей библиотекой TGMPA.

1.3.1 — 2018-06-29

  • Исправлено: Другие SMTP: очищаются новые отладочные сообщения о неудачной доставке письма при следующей успешной отправке письма.
  • Исправлено: Внедрение условного автозагрузчика для обхода требований Gmail PHP 5.5 и его проблем с совместимостью библиотек с минимальной жизнеспособной версией плагина PHP 5.3+.

1.3.0 — 2018-06-28

  • Добавлено: Новая опция: Принудительная перезапись значения значения электронной почты «От» независимо от текущего значения.
  • Добавлено: Новая опция: Принудительная перезапись значения поля «От кого» независимо от текущего значения.
  • Добавлено: Новая опция: удалить все данные плагина при деинсталляции плагина (когда пользователь удаляет плагин).
  • Добавлено: Уведомление администраторов сайта в области wp-admin о последней неудачной отправке письма. Очищается при успешной доставке.
  • Добавлено: Уведомление администраторов сайта в области wp-admin о возможных проблемах совместимости с другими плагинами SMTP и электронной почты.
  • Добавлено: Улучшен опыт пользовательской отладки при выполнении теста отправки почты — отображается полезное описание и шаги по устранению проблемы.
  • Добавлено: Новым пользователям: указано значение порта SMTP по умолчанию для новых пользователей на основе выбора шифрования.
  • Добавлено: Новым пользователям: уведомлять об отсутствующих настройках плагина.
  • Добавлено: Новым пользователям: Рекомендовать бесплатный плагин WPForms Lite для тех, у кого его нет.
  • Добавлено: SendGrid / Mailgun: обеспечивает поддержку multipart/alternative типов писем.
  • Добавлено: Gmail: новая кнопка для удаления подключения и связывания с новой учетной записью Google.
  • Исправлено: Поддержка установки плагина в каталог /mu-plugins/.
  • Исправлено: SendGrid: требуемый text/plain в первой части письма — исправляет письма в виде простого текста, не имеющие ссылок.
  • Исправлено: SendGrid и Mailgun: неправильная отправка текстовых сообщений в формате html.
  • Исправлено: SMTP Debug в некоторых случаях был пустым.
  • Исправлено: Совместимость с множеством других плагинов, в которых используется библиотека Google Analytics разных версий.
  • Исправлено: «client_id пустое» больше не проблема, она исправлена.
  • Изменено: для SendGrid и Mailgun разрешено использовать пользовательские имена вложений, если они есть. Возврат к имени файла.
  • Изменено: Gmail: переключиться на более широкий диапазон, чтобы предотвратить возможные проблемы в определенных обстоятельствах.
  • Изменено: удалены пробелы в начале/конце ключей, секретах и т.д.
  • Изменено: Улучшены полезные описания тестов различных опций.
  • Изменено: улучшена функциональность автозагрузки плагина.

1.2.5 — 2017-02-05

  • Исправлено: Return path иногда не выключалось.
  • Исправлено: Authentication иногда не выключалось.
  • Исправлено: Auto TLS иногда не выключалось.
  • Исправлено: Поддержка BCC для Gmail была нарушена.
  • Исправлено: Улучшена отладка для обработки SELinux и grsecurity.
  • Исправлено: Открывающие слэши из настроек плагина (полезно для опции From Name).
  • Исправлено: Изменен способ обработки для предотвращения случайного удаления полезных данных.
  • Исправлено: Активация плагина не перезаписывает настройки по умолчанию.
  • Исправлено: Правильно устанавливается опция Auto TLS при активации плагина.
  • Исправлено: Улучшена автозагрузка провайдера для определенных установок Windows.
  • Исправлено: Использован правильный путь для загрузки переводов из каталога /languages плагина.
  • Изменено: Не использовать автозагрузку плагина при каждом запросе к странице настроек плагина из таблицы параметров WordPress.
  • Изменено: не использовать автозагрузку классов Pepipost, если последний не сохранен в качестве активного мейлера в настройках.

1.2.4 — 2017-01-28

  • Исправлено: Улучшено экранирование в отчетах отладки.

1.2.3 — 2017-01-22

  • Исправлено: Токены Gmail сбрасывались после нажатия кнопки «Сохранить настройки».
  • Исправлено: Небольшая опечатка в успешном сообщении Gmail.

1.2.2 — 2017-12-27

  • Исправлено: Правильно обрабатываемое отладочное сообщение Mailgun про неправильный ключ API.
  • Исправлено: Неустранимая ошибка для почтовых программ Gmail и SMTP с веб-сервером Nginx (без Apache вообще).
  • Изменено: Обновлен заголовок письма X-Mailer, чтобы показать настоящего отправителя с версией почтовой программы и плагина.

1.2.1 — 2017-12-21

  • Исправлено: Неудачные соединения SMTP генерировали фатальные ошибки.

1.2.0 — 2017-12-21

  • Исправлено: Уменьшена фактическая минимальная версия WordPress с 3,9 до 3,6.
  • Изменено: Улучшен вывод отладки для всех почтовых провайдеров.

1.1.0 — 2017-12-18

  • Добавлено: Новая опция «Auto TLS» для почтовой программы SMTP. По умолчанию включено. Процедура миграции для всех сайтов.
  • Изменено: Улучшен вывод отладки — четкие стили и контекстно-зависимый контент.
  • Изменено: Улучшена обработка исключений для процесса аутентификации Google.
  • Изменено: Не санитизируются пароли, ключи api и т.д., так как они могут содержать специальные символы в определенном порядке, а санитизация нарушит эти значения.
  • Изменено: Улучшена формулировка некоторых полезных текстов внутри области администрирования плагина.
  • Исправлено: Не включает определенные файлы в библиотеки зависимостей, которые не используются почтовой программой Google. Это должно прекратить помечать плагин в Wordfence и VaultPress.
  • Исправлено: Использование констант теперь работает, например, для определения пароля SMTP.
  • Исправлено: Уведомление для почтовой программы по умолчанию.

1.0.2 — 2017-12-12

  • Исправлено: PHPMailer с использованием некорректного значения SMTPSecure.

1.0.1 — 2017-12-12

  • Исправлено: Глобальный конфликт обработки POST.

1.0.0 — 2017-12-12

  • Добавлено: Инструмент автоматической миграции для переноса параметров из старого формата хранения в новый.
  • Добавлено: Добавлена интеграция провайдера почты Gmail & G Suite — без вашей электронной почты и пароля.
  • Добавлено: Добавлена интеграция поставщика электронной почты SendGrid — только с использованием ключа API.
  • Добавлено: Добавлена интеграция поставщика электронной почты Mailgun — только с использованием ключа API и настроенного домена.
  • Добавлено: Новый режим совместимости — для PHP 5.2 старый плагин будет загружен, для PHP 5.3 и выше — новая версия области администрирования и новые функции.
  • Изменено: Новый вид области администрирования.
  • Изменено: Поле пароля SMTP теперь имеет тип «пароль».
  • Изменено: Поле пароля SMTP вообще не отображает реальный пароль при использовании констант в wp-config.php для его определения.
  • Правильный вывод всех переводов
  • Изменено: более полезный тестовый контент электронной почты (с именем почтовой программы).

0.11.2 — 2017-11-28

  • Добавлено: Настройка для скрытия фида объявлений.
  • Изменено: Данные фида объявлений.

0.11.1 — 2017-10-30

  • Исправлено: Старое исправление совместимости с PHP.

0.11 — 2017-10-30

  • Добавлено: Описание помощника для параметра «Обратный путь».
  • Добавлено: Фильтрация wp_mail_smtp_admin_test_email_smtp_debug, для увеличения информативности сообщений отладки.
  • Добавлено: Уведомление PHP 5.2.
  • Добавлено: Фид объявлений
  • Изменено: Исправления локализации, правильное название локали.
  • Изменено: Улучшения кода стилей и оптимизации для HTML и PHP.
  • Изменено: Входы для писем теперь имеют правильный тип email, вместо общего text.
  • Изменено: Отключать $phpmailer->SMTPAutoTLS, если параметр No encryption установлен для предотвращения ошибки при отправке писем.
  • Изменено: Скрывать Pepipost для тех, кто его не использует.
  • Изменено: Улучшена поддержка WP CLI.

0.10.1

  • Добавление Pepipost и очистка страницы администрирования.

0.10.0

  • Добавление Pepipost и очистка страницы администрирования.

0.9.6

  • Незначительные исправления безопасности,санитизация тестового адреса электронной почты.

0.9.5

  • Незначительное исправление безопасности, спасибо JD Grimes.

0.9.4

  • Улучшение функции тестового письма, обновление с очень низким приоритетом.

0.9.3

  • Исправлена ошибка с отправкой по ссылке. реквизит Адам Конвей

0.9.2

  • Удаление уведомления об устаревании.

0.9.1

  • $phpmailer->language стал защищенным в WP 3.2, больше не отключается при отладочном выводе.

0.9.0

  • Опечатки в описании From email.
  • Удален changelog из файла плагина, нет необходимости его дублировать.
  • По желанию $phpmailer->Sender from из письма, помогает с sendmail/mail().

0.8.7

  • Исправлена ошибка, которая вызвала ошибку при активации плагина.

0.8.6

  • Ссылка на настройки действительно работает в этот раз, обещаю. Извините за ненужные обновления.

0.8.5

  • Багфикс, ссылка настроек на странице плагина была неработоспособной в версии 0.8.4.

0.8.4

  • Незначительное исправление, удалено использование esc_html(), для улучшения обратной совместимости.
  • Убрано страница вторых опций меню, реквизит ovidiu.

0.8.3

  • Исправление, возвращает WPMS_MAIL_FROM_NAME, предложено nacin.
  • Добавлена ссылка настроек, реквизит Майка Чаллиса https://profiles.wordpress.org/MikeChallis/

0.8.2

  • Исправление, корректный вызов phpmailer_init_smtp(), собственность Sinklar.

0.8.1

  • Улучшение интернационализации.

0.8

  • Добавлены порт, SSL/TLS, опция «белый список», validate_email() и константные параметры.

0.7

  • Добавлены проверки только для переопределения значения по умолчанию из имени / электронной почты

0.6

  • Добавлен дополнительный отладочный вывод SMTP

0.5.2

  • Исправлена ошибка пре-2.3 с почтой

0.5.1

  • Добавлена проверка для отображения предупреждения о версиях до 2.3

0.5.0

  • Обновлен в соответствии с 2.3 фильтрами, которые добавляют второй фильтр для имени

0.4.2

  • Исправлена ошибка в 0.4.1 и добавлен дополнительный вывод отладки

0.4.1

  • Добавлена переменная $phpmailer->ErroInfoдля вывода тестовой почты

0.4

  • Добавлена функция тестового письма и вычищены некоторые другие фрагменты

0.3.2

  • Изменено использование register_activation_hook для большей совместимости

0.3.1

  • Добавлено readme для совместимости WP-Plugins.org

0.3

  • Различные исправления и добавления опций формы

0.2

  • Пересмотренный подход, предложенный westi, добавлена страница параметров

0.1

  • Исходный подход, копирование функции wp_mail и её замена

ru.wordpress.org

Настраиваем отправку всех писем с сайта под управлением WordPress через указанный SMTP

Для этого мы воспользуемся весьма лёгким и крайне простым плагином, который выполняет основную задачу – заставляет все письма отправляться не через стандартный PHPMailer, а указанный SMTP.

Данный Вордпресс плагин называется Easy WP SMTP – он находится в официальном репозитории плагинов на WordPress и заслуженно является самым лёгким (его размер порядка 78 килобайт) и весьма популярным. Более 200 тысяч пользователей выбрали Easy WP SMTP.

Не последнюю роль в  популяризации данного плагина сыграла ситуация, когда его конкурент в лице WP Mail SMTP был выкуплен некой компанией, которого в итоге из компактного плагина сделала монстра с не нужным 98% пользователям дополнительным функционалом и уже по традиции напичкала его рекламой и «выгодными» предложениями.

Вернёмся к плагину Easy WP SMTP. Установив его стандартным способом через консоль WordPress, зайдите в его настройки. Это делается через меню консоли Настройки -> Easy WP SMTP

Там имеется несколько вкладок:

  • SMTP Settings – здесь указываются настройки SMTP сервера почты
  • Additional Settings – опции для разработчиков, так ничего менять не надо
  • Test Email – отправка письма, дабы протестировать корректность настройки SMTP

Нас интересует вкладка с настройками. На приведённом изображении приведены типовые настройки, что указываются для SMTP сервера Яндекс ПДД.

Настройка WordPress плагина Easy WP SMTP

Фактически всё весьма интуитивно, вопросы может вызвать лишь опция Force From Name Replacement – если стоит галочка, то в приходящих письмах в поле Отправитель будет указан всегда чуть выше вписанный текст. Если же галочки нет и сообщение, к примеру, написано из контактной формы, то в поле Отправитель указывается Имя, что было указано в контактной форме при написании сообщения.

На этом всё. Желаю удачи в подключении вашего сайта к Яндекс ПДД или аналогичного SMTP сервера и настройке оправки писем через него с вашего WordPress сайта.

wpuse.ru

Почему и когда вам следует использовать Gmail SMTP сервер для сообщений WordPress

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

Большинство хостингов, предлагающих установку нашей CMS ограничивают использование данной функции для предотвращения СПАМА и лишней нагрузки на сервер.

СПАМ фильтры у некоторых почтовых сервисов настроены таким образом, чтобы проверять с каких аутентичных почтовых серверов отправляются письма. По умолчанию WordPress электронные письма не проходят данную проверку, а в некоторых случаях отправляют все это в СПАМ папку.

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

Сервис Gmail предоставляет SMTP технологию, которую вы можете использовать для отправки email с вашего WordPress сайта. Если вы хотите отправлять уведомления на свой почтовый ящик о зарегистрированный новых пользователях, то использование технологии SMTP будет лучшей опцией для вас. Однако если планируете отправление новостных рассылок с помощью WordPress, то тогда вам следует использовать сервисы по массовым отправкам писем, таких как MailGun или SendGrid.

Бесплатный или платный SMTP сервис для WordPress

Вы можете использовать в работе и бесплатную версию отправки писем по протоколу SMTP. Однако, для лучшей доставляемости мы рекомендуем пользоваться платными версиями Google Apps for Work. Благодаря этому сервису вы получите свой собственный брендированный адрес почты, вида yourname@yoursite.com

Приложение Google затребует, чтобы добавили MX записи к вашему домену, что означает, что ваши сообщения будут 100% проходить проверку, т.е ваш канал отправки писем будет достоверным и значит все письма будут доставляться в папку Входящие, а не СПАМ.

Как отправить электронную почту с помощью WordPress Gmail SMTP-сервера

Если вы твердо решили пользоваться приложением Google Apps for Work, тогда первым делом вам нужно установить ваш домен для работы  этим сервисом. Мы подготовили пошаговое руководство как создать профессиональный email адрес почты с данным сервисом.

Остальные инструкции одинаковы не важно используете ли вы платный или бесплатный вариант учетной записи Gmail.

Есть два способа, как подключить ваш WordPress сайт к серверам Gmail SMTP. Первый метод задействует Oauth Аутентификацию. Это более безопасный метод отправки email писем, используя Gmail сервера.

Второй метод использует менее защищенные приложения, поэтому он не рекомендуется, но мы его здесь продемонстрируем. Он заключается в вводе пароля к аккаунту Gmail, который виден всем пользователям с уровнем администратора. Его следует использовать только тогда, когда не сможете воспользоваться первым методом.

Метод 1: Настройка Gmail SMTP с использованием OAuth

Первое, что вам нужно сделать на этом шаге это установить и активировать плагин Gmail SMTP для WordPress. После активации идем в раздел Настройки (Setting)-> Gmail SMTP для конфигурирования некоторых опций.

Настройка опций плагина Gmail SMTP

Вы увидите уведомление, которые требуются от вас, чтобы создать веб приложение для вашего Gmail аккаунта и сгенерировать API ключи. Эти API ключи будут идентифицировать (определять) ваш сайт, как ресурс, использующий Gmail SMTP сервера.

Создание приложения и генерация API ключа

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

Эта ссылка приведет вас на страницу для разработчиков Google Developers. Вы должны войти под своими учетными данными в систему, которые вы хотите использовать для отправки email через WordPress сайт. После того, как вы вошли в систему, новый проект будет создан для вас с уже включенным Gmail API.

Активация API Gmail через панель разработчика Google

Кликайте на кнопку «Go Credentials» (перейти к проверке соответствия). На следующем экране вам будет предложено назвать откуда вы будете вызывать API. Вам нужно выбрать Web Browser (Javascript) из выпадающего списка. В разделе «Какие данные будете использовать для доступа» нужно выбрать пользовательские данные (User Data).

Добавление данных для нашего проекта

После этого нажмите на синюю кнопку «What credentials do I need?» чтобы продолжить процесс.

Мастер настройки Gmail теперь попросит вас предоставить URL адрес сайта, который будет использовать данный API. Под вкладкой «Authorized Javascript Origins» вам необходимо ввести адрес вашего сайта.

Под разделом «Authorized redirect URLs» вам нужно вставить адрес, показанный на странице настроек плагина Gmail SMTP в панели управления.

Затем нажмите на кнопку «Create client ID» (Создать идентификатор клиента) для продолжения.

Теперь вы находитесь на странице настроек OAuth. Просто введите ваш gmail адрес и имя вашего приложения, который используется для доступа в Gmail аккаунт. В вашем случае это будет ваше собственное имя сайта.

 

Установка OAuth настроек

После того, как все сделано, нажимаете на кнопку Continue (Продолжить). Поздравляю вы успешно установили Gmail API с поддержкой OAuth авторизации. Вам нужно нажать на кнопку Готово (Done).

Установка Oauth авторизации завершена

Сейчас вы увидите ваш клиентский идентификатор (приложения), которые вы создали для доступа к вашему Gmail API.

Кликните на имя вашего сайта или клиентского проекта для продолжения.

Просмотр клиентского идентификатора приложения

На следующем экране вы увидите клиентский ID и секретный ключ.

Клиентский идентификатор и секретный ключ

Просто скопируйте ключи и вставьте их в ваш Gmail SMTP плагин в настройках на WordPress сайте.

Копируем идентификатор и ключ и вставляем в настройки плагина Gmail SMTP

После этого заполните оставшиеся поля в настройках плагина. Вам нужно будет добавить запись email адрес почты Google в поле OAuth Email Address и в From Email Address, т.е сделать это два раза. Вы можете ввести свое имя или имя вашего сайта в поле «От имени» (From Name). Далее выбираете тип шифрования TLS и прописываете в качестве SMTP порта значение 587 и, наконец, нажимаете на кнопку сохранить изменения.

После обновления страницы настроек плагина, вам нужно спуститься в самый низ и нажать на кнопку «Grant Permission» (Предоставить разрешение).

Сохраняем изменения и устанавливаем разрешение

Это приведет вас к аккаунту Google, где вам будет предложено дать разрешение вашему сайту для доступа к учетной записи Gmail. Нажмите на кнопку Allow (позволить), чтобы продолжить.

Вы будете перенаправлены обратно к настройкам плагина Gmail SMTP на вашем WordPress сайте. Обратите внимание, что теперь значок SMTP статуса будет гореть зеленым цветом.

SMTP подключен и работает

На этом все. Вы успешно настроили отправку email писем через сервер Gmail SMTP. Теперь вы можете нажать на вкладку электронной почты и отправить самому себе письмо для теста.

Метод 2: Настройка Gmail SMTP с включенным менее безопасным приложением

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

Поскольку безопасность и СПАМ  являются главной проблемой для большинства провайдеров электронной почты, то вполне возможно Google скоро откажется от этого метода. Если вы используете службы Google For Work, то тогда здесь вы можете позволить вашим пользователям управлять своим доступом к менее защищенным приложениям.

Посетите админ панель вашего домена в сервисе Google Apps. Перейдите в раздел Security -> Basic Setting (Безопасность – Основные настройки) и прокрутите скрол вниз до секции менее защищенные приложения.

Менее защищенные приложения Google

Кликните на «Go to settings for less secure apps» для продолжения. На следующем экране выберите опцию рядом с «Allow users to manage their access to less secure apps» (Позволить пользователям управлять своим доступом в менее защищенном приложении). Не забудьте кликнуть на кнопку «Сохранить» в правом нижнем углу экрана.

Остальные инструкции одинаковы как для платных так и для бесплатных аккаунтов Gmail.

Просто посетите страницу настроек менее защищенных приложений в вашем Гугл аккаунте и включите данную опцию.

Включение режима доступа к менее безопасным приложениям Google

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

Прежде всего, необходимо установить и активировать плагин WP Mail SMTP. После активации переходим в Настройки (Setting) -> Email Page (Страница Email) для конфигурирования плагина.

Настройки плагина WP Mail SMTP

Здесь вам нужно указать следующее:

  • From Email: Введите ваш Gmail адрес почты
  • From Name: Введите ваше имя или название вашего сайта
  • Mailer: Установите «Send all WordPress emails via SMTP» (Отправлять все письма через SMTP протокол)
  • Return Path: Установите данный чек бокс, чтобы использовать Email в качестве обратного адреса
  • SMTP Host: smtp.gmail.com
  • SMTP Port: 465
  • Encryption: использовать SSL шифрование
  • Authentication: Да, использовать аутентификацию.
  • Username: ваш полный почтовый адрес, например john@yourdomain.com  или john.smith@gmail.com  (меняете на ваш адрес почты)
  • Password: ваш пароль от Google аккаунта

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

После сохранения настроек прокрутите вниз до конца страницы и вы увидите кнопку «Send a test email» (Отправить тестовое письмо). Введите адрес электронной почты, чтобы убедиться, что все работает корректно.

Вот и все, вы успешно настроили ваш WordPress сайт для отправки email писем через протокол Gmail SMTP.

Устранение неполадок в работе Gmail SMTP

Мы видели ряд вопросов, что Gmail SMTP не работает с некоторыми конфигурациями виртуального хостинга.

Выполните следующие действия, чтобы устранить эти неполадки. Войдите в свой аккаунт хостинга cPanel и создайте учетную запись электронной почты, который соответствует адресу почты в Google Apps.

В своем аккаунте cPanel, перейдите к MX записям и измените маршрутизацию MX с автоматической на Remote. Это покажется несколько сложным шагом, ведь у каждого хостера свой пользовательский интерфейс cPanel, но обратите внимание на маленькую ссылку рядом с MX, которая называется Email Routing: Remote Mail Exchanger (Маршрутизация почты удаленного почтового сервера).

После этого войдите на ваш сайт и отправьте тестовое письмо.

Мы надеемся, что статья вам помогла. До новых встреч в следующих полезных выпусках блога!

smarticle.ru

Почему не работает контактная форма WordPress?

Неподходящая тема или ошибка в теме

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

Несоответствие плагинов с Contact Form 7

Плагин для WordPress Contact Form 7 может не работать из-за того, что другие плагины на вашем сайте конфликтуют с ним, и в результате Вордпресс не отправляет почту. Чтобы исключить данную проблему – поочередно отключаем остальные плагины один за одним, каждый раз обновляя страницу обратной связи. Если после отключения одного из плагинов, контактная форма заработала, значит вы нашли корень проблемы. Ищите, чем заменить конфликтующий плагин. Если же вы отключили все плагины, а Contact Form 7 так и не работает, ищем ошибку дальше.

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

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

Проверить работу обратной связи без плагина

Вы можете протестировать отправку почты на своем блоге без участия плагина. Вот статья о том, как это сделать – «Форма обратной связи WordPress с плагином и без него». Это верный способ узнать, где спряталась ошибка – в самом плагине Contact Form, либо же она возникает непосредственно при отправке почты в WordPress.

Проблема вызвана хостингом

Чаще всего это выглядит так: сообщение отправляется, но не приходит на почту.

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

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

pro-wordpress.ru

Почему email не доставляются и пропадают

Письма могут пропадать в силу нескольких причин. Первая и самая главная — ваш email приняли за спам. Любой серьёзный почтовый сервис имеет свой мощный антиспам-модуль c эвристическим анализом содержимого email, не говоря уже о чёрном списке адресов. Поэтому, не переусердствуйте с рассылкой, чтобы не попасть в чёрный список спамеров.
Также, в спам попадут не подписанные электронной подписью письма. То есть, любой может отправить фишинговое письмо, скажем, от имени [email protected], однако, это будет безуспешно, т.к. отправитель вряд ли сможет подтвердить, что оно было отправлено с этого адреса. Для проверки легитимности используются подписи DKIM (DomainKeys Identified Mail) и SPF (Sender Policy Framework) записи.

Что сделать, чтобы письма доходили до адресата

Не переусердствуйте с рассылкой и настройте свой SMTP-сервер, чтобы исходящие email подписывались DCIM- и SPF-подписями. Вы можете настроить свой SMTP сервер, но чтобы не заморачиваться с настройкой, можно привязать домен к Яндекс.ПДД или Google Apps for Business и отправлять email через их сервис, и тогда все нужные заголовки будут прописываться автоматом. Но тут есть 2 оговорки

  1. Ваш хостинг-провайдер должен разрешать исходящие соединения, чтобы была возможность подключиться к внешнему SMTP серверу
  2. Объём рассылки не превышает 2000 писем в день. Это лимит Google, у Yandex вряд ли больше

Если вы укладываетесь в вышеуказанные рамки, тогда вперёд, настроим подключение

Как настроить подключение SMTP

Чтобы настроить нормальную отправку писем, нужно установить плагин WP Mail SMTP. Он позволяет переконфигурировать стандартный PHP Mailer так, чтобы была возможность подключаться к SMTP серверу. Также, советую использовать его, если вы пользуетесь локальным сервером.

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

Настройка WP Mail SMTP

Подключаем WP Mail SMTPПодключаем WP Mail SMTP
А вот описание опций

  • From Email — email отправителя. Вводим логин от почты полностью как на изображении вверху
  • From Name — Имя отправителя. Можете поставить сюда что хотите, например, адрес вашего сайта
  • Mailer — выбираем Send all WordPress emails via SMTP
  • Return Path — оставляем пустым
  • SMTP Host — адрес SMTP сервера. Вводим smtp.yandex.ru
  • SMTP Port — порт SMTP сервера. Вводим 465
  • Encryption — тип шифровки писем. Вводим Use SSL encryption
  • Authentication — авторизация. Выбираем Yes: Use SMTP authentication
  • Username — логин от почты. Значение должно совпадать с From Email

    Если логин вида [email protected], то нужно вписывать просто login, без @yandex.ru

    Если SSL не сработал, можно попробовать следующие настройки:

    • Сервер smtp.yandex.com
    • Шифрование TLS
    • Порт 587
  • Password — пароль от почты

Когда всё настроите, можете проверить, как получилось. Для этого введите в разделе ниже Send a Test Email ваш email, отправьте тестовое письмо и проверьте почту. Если всё в порядке, оно должно находиться там.

Настройка Contact Form 7

Допустим, мы зарегистрировали email [email protected] и внесли его в настройки WP Mail SMTP, тогда его нужно прописать в форме Contact Form 7 в разделе Письмо в поле От кого:
contact form 7 через smtp yandex

Не обращайте внимания на ошибку: Электронный адрес отправителя не принадлежит домену сайта., email будут отправляться верно с этого адреса.

Установка и настройка почтового сервера

Если лимиты внешнего SMTP-сервера не устраивают, можно использовать свой серверный вариант: установить Postifx или Sendmail. Оба отвечают за работу с email, в частности, их отправку и пересылку.

Установка происходит с помощью введения команд в консоль SSH. Инструменты: Far Manager или putty. Если работа не под root, не забываем перед командами давать sudo

Установка Postfix

apt-get update && apt-get install postfix

В процессе установки будут заданы вопросы относительно настройки. Важно выбрать тип Internet Site. Это необходимо сделать для того, чтобы Postfix сгенерировал файл main.cf и сразу начал работу. В противном случае, Вам необходимо будет настраивать его вручную.

Установка Sendmail

Sendmail устанавливается примерно так же

apt-get update && apt-get install sendmail

Потом его сконфигурировать

sendmailconfig

После всего этого перезагрузить сервер

reboot

Что делать, если email не доходит

  1. Проверить правильность адреса, куда почта должна придти;
  2. Проверить папку Спам;
  3. Выждать пару минут.

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

Как проверить отправку email в PHP

3 команды, которые нужно ввести в консоль SSH последовательно:

php -a  mail ('[email protected]', "Test Mailer", "Test mail from php mailer");  exit;

[email protected] — это адрес, куда надо доставить тестовое письмо.
Если PHP не настроен на работу в консоли, можно попробовать следующее:

  1. Создать файл test_email.php;
  2. Прописать туда:
    <?php mail ('[email protected]', "Test Mailer", "Test mail from php mailer");
  3. Запустить файл командой
    php -f test_email.php

Если на данном этапе возникает ошибка, попробуйте переустановить и правильно сконфигурировать Postfix или Sendmail.

Как вариант, ещё стоит попробовать проверить sendmail_path в php.ini.

sheensay.ru

Плагин Configure SMTP — решение проблем с отправкой писем в WordPress

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

Накатил косяк с не отправкой писем, после переезда на новый хостинг и обновления движка . Тихо-мирно, после обновы, решил проверить форму обратной связи, а так же отправить бекап базы данных к себе на почту. Письма вроде бы и уходили, а в почтовом ящике тишина и спокойствие. Конечно я воспринял все это без истерики, уже привык к выкидонам движка. Перекурив и собравшись с мыслями стал искать решение и способ устранения неполадок.
Первым делом пробил свой хостинг на наличие поддержки функции mail (), все в порядке оказалось. Cтал искать способ для отправки писем через SMTP.
Решений как оказалось предлагают много, например Lecactus предложил немного подправить код в файле wp-includes/class-phpmailer.php. Вариант по исполнению отличный, но мне не помог.
Тут «понеслась душа в рай», в ход пошли один плагин за другим, ставил разные и много, но по тем или иным причинам отказывался от их использования.
Создание e-mail вида wordpress@имя_домена, по ряду причин тоже не принесло положительных результатов.
Когда стал закипать мозг и сходиться глаза в кучу, натолкнулся на неприметный такой плагинчик Configure SMTP. У нас описание этого плагина встретил лишь один раз и то поверхностное, может просто плохо искал. Решительно зашел к автору на сайт, почитал в меру своих знаний буржуинского и решил попробовать до кучи  еще и этот способ. Поставил плагин к себе на блог и несмотря на всю невзрачность и легковесность, помог «буржуинский бродяга» измученному Российскому пользователю, пошли письма на почту, и самое главное  стали  доходить  до адресата.

И так давайте подробно рассмотрим работу плагина для настройки SMTP рассылки в WordPress:

dbmast.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.