Содержание
Если Ваш сайт на WordPress отправляет много писем, то может возникнуть проблема с их доставкой клиенту. Очень часто, письма отправленные стандартными методами WordPress, воспринимаются почтовыми сервисами Yandex и Google как спам. В статье будет показано, как отправлять письма в WordPress используя Яндекс SMTP сервера.
Почему и Когда Нужно использовать SMTP сервера для WordPress почты
Ваш WordPress сайт может отправлять письма, например, когда регистрируется новый пользователь или происходит восстановление пароля, различные оповещения для участников форума или автоматические обновления.
По-умолчанию WordPress использует стандартные механизмы для отправки email оповещений, без дополнительных настроек. Но это не самое лучшее решение по ряду причин.
Письмо, отправленное через стандартный системный транспорт, не содержит дополнительных электронных подписей, которые могут свидетельствовать о надежности и легитимности отправителя и могут быть помещены в спам.
Такими подписями являются DKIM-подпись и SPF-запись, которые устанавливаются в настройках домена (DNS) и позволяют владельцу домена показать почтовым сервисам с каких серверов могут отправляться письма этого домена.
SMTP (Simple Mail Transfer Protocol) – это отраслевой стандарт для отправки электронных писем. В отличие от стандартных методов WordPress, SMTP позволяет отправлять письма с необходимыми подписями, которые свидетельствуют, что отправитель именно Вы, а не злоумышленник.
Если Вам нужен надежный способ отправки оповещений с сайта Вам или Вашим пользователям, то Яндекс.Почта предоставляет такую возможность. Отправляющие сервера (SMTP-серверы) Яндекс Почты автоматически добавляют DKIM-подписи к каждому письму. С ними лишь владелец домена (и закрытого ключа DKIM) может отправлять письма с верными DKIM-подписями.
Конечно, если Вы хотите организовать полноценную систему рассылок используя WordPress, тогда Вам следует воспользоваться специализированными сервисами для реализации массовой отправки писем клиентам, так как у Яндекса есть определенные ограничения по количеству отправляемых писем в сутки при использовании их SMTP серверов.
Как Отправлять WordPress Письма Используя Яндекс 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
. - SMTP Port — порт SMTP-сервера, зависит от типа шифрования (Encryption). Для Яндекс Почты и Gmail используйте порт
465
. - Encryption — тип шифрования. Для Яндекс.Почты необходимо установить «
Use SSL encryption
». - Authentication — требуется ли выполнять авторизацию на почтовом сервере. Устанавливаем «
Yes: Use SMTP authentication
». - Username — логин от почты. Как правило, полный адрес почтового ящика, должен совпадать со значением, указанным в поле From Email.
- Password — пароль от почтового ящика.
Сохраняем настройки и переходим на страницу почты для домена Яндекс.Почты. На этой странице можно увидеть адрес электронной почты для домена support@mysite.ru
, который мы использовали в плагине WP Mail SMTP. Затем нажимаем ссылку “Редактор DNS” и переходим на страницу DNS-записей.
На этой странице, в списке DNS-записей, можно увидеть DKIM-подпись и SPF-запись, которые предоставляет Яндекс.Почта для подтверждения подлинности отправителя письма через их SMTP сервера.
Теперь переходим на страницу хостинга TimeWeb в раздел “Домены и поддомены” и создадим поддомен mail._domainkey
. Привяжем поддомен к существующей директории сайта, например сайт будет mysite.ru
, директория будет называться mysite.ru
(у вас название директории и домена будет свои) и получим поддомен mail._domainkey.mysite.ru
. Нажимаем кнопку “Сохранить” настройки.
Далее пропишем DKIM-подпись для созданного поддомена. Для этого нажмем на настройки поддомена (зеленая кнопка при наведении курсора мыши на название поддомена) и в появившемся окне перейдем в раздел “TXT” . Удалим стандартную TXT-запись и добавим новую с DKIM-подпись, которая была на странице редактора DNS-записей (смотрите выше на картинке “DKIM и SPF на странице DNS-записи почты для домены”). Нажимаем кнопку “Сохранить” настройки.
Теперь пропишем SPF-запись нашему основному домену. Нажмите на кнопку настройки домена. В появившемся окне перейдите в раздел “Расширенные настройки” и добавьте в конец существующей TXT-записи перед атрибутом ~all
строку include:_spf.yandex.net
. Нажимаем кнопку “Сохранить” настройки.
Теперь необходимо подождать, пока изменения в DNS
вступят в силу. Этот процесс может длиться до 72 часов. Давайте на всякий случай проверим правильность настройки. Для этого зайдем на сайт проверки DKIM-подписи и введем селектор mail
и имя домена mysite.ru
, как это показано на рисунке ниже.
ВАЖНО. Если у Вас доменное имея в кириллической зоне .РФ, то для того, чтобы сайт проверки DKIM-подписи работал корректно, Вам необходимо перекодировать русские буквы названия сайта в так называемый Punycode. Это можно сделать, например, используя конвертер по следующей ссылке.
В результате мы увидим, что все настроено правильно и это хорошо.
Три дня прошло и теперь пришло время вернуться на страницу Яндекс.Почта для домена. Возле названия вашего домена появится отметка, что DKIM-подпись
подключена.
Теперь нужно проверить наши письма отправленные с электронных адресов созданных для домена на наличие DKIM
и SPF
. Для этого перейдем на страницу плагина WP Mail SMTP на нашем сайте и отправим тестовое письмо.
ВАЖНО. Для того, чтобы плагин исправно работал с ваше почтой для домена, домен которой находится в кириллической зоне .РФ, Вам необходимо конвертировать доменное имя в Punycode. Это можно сделать, например, используя конвертер по следующей ссылке. В итоге мы должны получить почту вида
support@мойсайт.рф
в почту для домена видаsupport@xn--80arbjktj.xn--p1ai
.
После отправки тестового письма одноименный плагин создаст результат отправки письма. Здесь нужно обратить внимание на то, чтобы результат отправки письма был true
.
Теперь зайдем на почту Google, куда было отправлено тестовое письмо.
Затем зайдем в свойства письма, как показано на картинке ниже.
На странице свойств письма, которое мы отправили можно убедится в наличии DKIM
и SPF
. Теперь наши письма не попадут в спам, а будут терпеливо ждать своего пользователя.
Вот и все. Благодарю вас за то, что прочитали эту статью. Надеюсь она помогла вам настроить SMTP для WordPress с использованием Yandex и TimeWeb.
Пишите свое мнение, идеи и предложения в комментариях к статье.
У вас все получится, Удачи!
Доброго времени суток!
Если вам надоело сталкиваться с ситуацией, что отправленные письма с вашего сайта под управлением WordPress попадают в спам или вовсе не доходят, то в конечном итоге вы неминуемо придёте к необходимости использования внешнего SMTP сервера, к примеру, бесплатного Яндекс ПДД (Почта Для Домена).
Подключив ваш сайт к Яндекс ПДД или иному серверу отправки почты, дело останется за малым – настроить ваш сайт таким образом, чтобы все письма отправлялись исключительно через SMTP. Давайте посмотрим, как это просто сделать в WordPress.
Настраиваем отправку всех писем с сайта под управлением 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 сервера Яндекс ПДД.
Фактически всё весьма интуитивно, вопросы может вызвать лишь опция Force From Name Replacement – если стоит галочка, то в приходящих письмах в поле Отправитель будет указан всегда чуть выше вписанный текст. Если же галочки нет и сообщение, к примеру, написано из контактной формы, то в поле Отправитель указывается Имя, что было указано в контактной форме при написании сообщения.
На этом всё. Желаю удачи в подключении вашего сайта к Яндекс ПДД или аналогичного SMTP сервера и настройке оправки писем через него с вашего WordPress сайта.
Пожертвование сайту WPuse.ru (cбор пожертвований осуществляется через сервис Яндекс Деньги)
Надеюсь все уже отошли от череды Новогодних праздников и уже появилось настроение поработать.
Сегодня на фоне борьбы со спамом, почтовый службы стали пачками отправлять почту в корзину. Сразу несколько клиентов обратились ко мне с подобными проблемами.
Разберем почему почта с сайта не доходит адресата.
Почта создаваемая нашими сайтами, через формы обратной связи, оповещение о новых комментариях, продаже в магазине создается автоматически.
Почтовые службы расценивают эти письма как созданные роботами и в лучшем случае отправляют в спам,в худшем вообще сливают в неизвестность.
Например тот же популярный плагин Contact Form 7 отправляет письма от имени ящика wordpress@ваш-домен.com.
Спорим у вас этого ящика в аккаунте на хостинге нет?
А теперь он должен быть, потому что почта должна идти с настоящего почтового ящика и почтовики это проверяют.
Пока я изучал проблему нарыл еще кучу всевозможных причин недоставки почты и пришел к выводу что сейчас уже целесообразнее использовать для отправки с сайта реальный почтовый ящик одной из популярных служб.
Брать нужно самые популярные или Gmail или Яндекс.
ОБЯЗАТЕЛЬНО! Заполняем все свои данные и подтверждаем телефон, без этого пересылка почты работать не будет.
Сейчас я своим клиентам для работы с почтой ставлю два плагина:
WP Mail SMTP— для настройки отправки почты SMTP
WPForms -плагин для созданию почтовых форм в визуальном редакторе.
Настройка плагина WP Mail SMTP
Сначала устанавливаем плагин через поиск стандартного установщика.
После этого идем в Настройки и находим вкладку с настройками плагина WP Mail SMTP.
Для Яндекса например настройки следующие.
От (email): — указываем Ваш почтовый ящик
От имени: — Название сайта/компании или Ваше имя
Метод отправки почты: — Прочие SMTP
<label>Адрес возврата (return-path): — отмечаем чебокс</label>SMTP сервер: — smtp.yandex.ruШифрование: — SSLSMTP порт: — 465Auto TLS: — вклАвторизация: — вклИмя пользователя SMTP: — ваш логин на ЯндексеПароль SMTP: пароль для почты Для безопасности рекомендую сгеннерировать отдельный пароль на Яндексе-приложения для почты.Для этого заходим в Яндекс-паспорт и находим графу для создания паролей приложений.Там включаем пароли приложений.Далее генерируем отдельные пароль для работы с почтой. Но и это еще не все. для того чтоб скрыть пароль из админки сайта его лучше прописать в файле конфигураций в виде кода.Используемые источники:
- https://sellpress.ru/wordpress-email-marketing/nastroyka-smtp-v-wordpress/
- https://wpuse.ru/sending-e-mail-via-smtp-to-wordpress.html
- https://info-m.pro/vse-dlya-wordpress/nastroyka-pochty-na-wordpress.html