плагин SMTP

Как настроить отправку писем c сайта на WordPress чтобы они не попадали в СПАМ?

от автора

в

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

Эта проблема присутствует на многих сайтах под управлением WordPress, потому что по умолчанию WordPress использует для отправки электронных писем почтовую функцию PHP и многие сервера не настроены должным образом и не соответствуют требованиям безопасности, которые достигаются настройкой SPF, DKIM и DMARC записями.

Первое с чего стоит начать — это с тестирования.

Протестируйте Ваши письма на СПАМ

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

После копирования E-mail страницу не закрывайте! Мы к ней ещё вернёмся.

тест на спам

Плагин Contact Form 7

Если вы используете на сайте для создания контактных форм плагин Contact Form 7, то необходимо этот email указать в числе получателей (если получателей несколько, то их нужно разделять запятыми).

получатель

Теперь необходимо со страницы вашего сайта, с контактной формы отправить сообщение

отправка сообщения

Затем нам нужно вернуться на сайт на котором сгенерирован наш E-mail и перейти к отчёту проверки

Проверка оценки

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

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

DKIM — это метод проверки подлинности сообщений электронной почты и в отчёте мы видим его отсутствие. Также отсутствует и DMARC, который защищает получателя от спуфинга (англ. spoofing — подмена). Поэтому не стоит удивляться, что отправленное письмо прилетело в СПАМ 🙂

Что делать дальше? Как исправить ситуацию?

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

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

Встречайте, плагин WP Mail SMTP

Необходимо установить плагин на ваш сайт. Если вы не знаете, как это сделать, то воспользуйтесь этой инструкцией.

Установка плагина WP Mail SMTP

После установки и активации перед вами откроется окно помощника установки. Предлагаю просто вернуться в Панель управления

Волшебник настройки плагина

Далее, мы окажемся на странице настроек плагина. Кстати, он создаёт целый раздел в Главном меню панели управления

В первую очередь нас интересует раздел на этой странице, который называется Почтовая программа. Тут нам нужно будет выбрать провайдера (сервис-посредник, через который будет осуществляться отправка Email-сообщений)

Почтовая программа

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

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

У вашего хостинг-провайдера должна быть возможность создания почтовых ящиков. Точно могу сказать, что на хостинге от компании TimeWeb эта возможность присутствует. И у хостинг-провайдера Beget на виртуальном хостинге эта возможность есть.

В нашем примере будет рассмотрен хостинг-компания Beget.

Создание почтового ящика

Принцип создания почтовых ящиков, плюс/минус одинаковый. В качестве примера будем создавать почтовый ящик у хостинг-провайдера Beget. Создаём мы его только с одной целью — чтобы он выступал в качестве посредника-отправителя.

На главной странице Панели управления хостингом переходим в раздел Почта

Beget

Выбираем нужный домен (тот на котором ваш сайт, для которого мы и настраиваем SMTP) и затем создаём новый почтовый ящик. Я создал его с именем «hello», следовательно моя почта отправителя будет «hello@codeispoetry.ru»

создание почтового ящика

Подробнее, о создании почты на домене можно прочесть тут.

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

Настройка подключения на серверах Beget

Для настройки работы почты через сервера Beget нужно использовать следующие реквизиты подключения:

Сервер исходящей почты

SMTP-сервер — smtp.beget.com

Порты

SMTP — 25 или 2525
SMTP защищенный SSL — 465

Ограничения на использование почты

На хостинге установлены следующие ограничения на отправку почтовых сообщений:

  • через PHP-функцию mail(), он же sendmail, можно отсылать не более 30 писем в минуту;
  • через SMTP-сервер не более 30 писем в минуту и не более 1500 писем в час;
  • число получателей одного письма — не более 300;
  • максимальный размер почтового сообщения для SMTP — 75Мб, для mail() — 70Мб;
  • рассылка должна быть валидной: не содержать вредоносных файлов и ссылок на них, в письме должна содержаться ссылка на отказ от получения данной рассылки.

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

  1. Адрес почтового ящика (который мы создали ранее)
  2. Пароль от этого почтового ящика (задаётся при создании, но можно всего его изменить)
  3. Адрес SMTP-сервера (у каждого провайдера свой, в нашем примере он smtp.beget.com)
  4. Порт 465

Теперь внесём эти данные в настройки нашего подключения SMTP на нашем сайте:

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

Примечание. Для опытных пользователей рекомендуется данные для подключения указывать через конфигурационный файл WordPress — wp-config.php Это позволит защитить настройки сделав невозможным их редактирование через панель управления. Подробнее…

После этого, нам необходимо перейти в раздел Инструменты и протестировать отправку нашего сообщения:

тестирование отправки сообщения

Если вы всё сделали верно, то непременно письмо будет отправлено успешно:

Но всё равно достоверность его страдает и наше письмо снова залетает в СПАМ, по крайней мере на mai.ru. Это из за того, что у нас отсутствует DKIM

SPAM

DKIM (DomainKeys Identified Mail) — технология проверки электронной почты, с помощью которой можно вычислить поддельные письма. DKIM добавляет в письмо цифровую подпись. Благодаря ей почтовые провайдеры (Mail.ru, Gmail) могут проверить, что сообщение отправлено именно с указанного домена.

https://www.unisender.com/ru/glossary/dkim/

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

Чтобы сделать DKIM-подпись для писем с функцией SMTP, напишите тикет из Панели управления аккаунтом

https://beget.com/ru/kb/how-to/mail/nastrojka-dkim#nastroyka-dkim-podpisi-pri-otpravke-rassylok-cherez-hosting-beget

Для завершения настройки нам нужно обратиться в поддержку. Текст обращения может быть примерно следующим:

Здравствуйте. Создали почту на домене [ВАШ ДОМЕН] Используем для отправки SMTP Beget. Письма попадают в СПАМ. Просим внести запись DKIM. Спасибо.

Очень приятно, что поддержка Beget в лице Ирины Станиславовны не заставила себя ждать с ответом.

Думаю можно не проверять запись, доверяя работе квалифицированных сотрудников службы поддержки Beget, но если вам интересно убедиться, то тут же из консоли это возможно сделать:

проверка DKIM

Теперь, если мы повторим отправку сообщения, то можем увидеть наше письмо в разделе Входящие. Для фильтров большинства сервисов наличие записи DKIM вполне достаточно в качестве аргумента 🙂

Письмо во входящих

Но завершающим действием, я предлагаю сделать добавление записи DMARK. Да, её необходимо будет добавить самостоятельно. Для этого переходим в раздел DNS

DNS

В этом разделе необходимо выбрать нужный домен и создать для него подзону:

создаем подзону

И указываем подзону _dmarc

dmark

После этого выберем созданный поддомен и внесём запись TXT со следующим содержимым:

внесение записей dmark

Подробнее ознакомиться с DMARK можно тут.

Проверить на присутствие запись вот тут.

Может не так очевидно, но сообщение говорит о том, что запись присутствует. Всё хорошо.

проверка DMARC

Попробуйте сделать повторный тест на сервисе Mail Tester. Напишите, помогло ли вам это решение?

Напоследок, рекомендую проверить следующие настройки плагина:

Адрес отправителя — тут должна быть указана ваша почта, ящик которой вы создали.

Принудительно использовать адрес отправителя — ВКЛ (включено)

Лишним не будет указать и имя отправителя на что то более уникальное, чем, как в моём примере — Demo Site.

Послесловие.

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

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

Настройка отправки почты через сервис Gmail

Буду признателен за Share 🙏


Комментарии

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

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