Посетители вашего сайта отправляют вам электронные письма через контактные формы, а они попадают в папку СПАМ, или не приходят вовсе. Знакомая картина?
Эта проблема присутствует на многих сайтах под управлением WordPress, потому что по умолчанию WordPress использует для отправки электронных писем почтовую функцию PHP и многие сервера не настроены должным образом и не соответствуют требованиям безопасности, которые достигаются настройкой SPF, DKIM и DMARC записями.
Первое с чего стоит начать — это с тестирования.
Протестируйте Ваши письма на СПАМ
Переходим на страницу этого сервиса. Вам будет сгенерирован случайным образом адрес электронной почты, на который вам необходимо отправить тестовое сообщение, чтобы затем сделать диагностику и выявить причины попадания сообщений в СПАМ.
После копирования E-mail страницу не закрывайте! Мы к ней ещё вернёмся.
Плагин Contact Form 7
Если вы используете на сайте для создания контактных форм плагин Contact Form 7, то необходимо этот email указать в числе получателей (если получателей несколько, то их нужно разделять запятыми).
Теперь необходимо со страницы вашего сайта, с контактной формы отправить сообщение
Затем нам нужно вернуться на сайт на котором сгенерирован наш E-mail и перейти к отчёту проверки
Перед нами откроется окно с результатами, где в принципе, всё подробно расписано, за что вам снизили баллы и т.п.
В частности мы видим, что у нас не настроены нужные и важные записи, которые подтверждают достоверность отправителя и как следствие системы защиты почтовых сервисов могут отправлять ваши письма в СПАМ.
DKIM — это метод проверки подлинности сообщений электронной почты и в отчёте мы видим его отсутствие. Также отсутствует и DMARC, который защищает получателя от спуфинга (англ. spoofing — подмена). Поэтому не стоит удивляться, что отправленное письмо прилетело в СПАМ 🙂
Что делать дальше? Как исправить ситуацию?
Можно настраивать эти записи DNS вручную или при помощи поддержки «хостера» (места где размещается ваш сайт), как правило служба поддержки оказывает подобные услуги и помогает настраивать эти вещи.
Решать поставленную задачу мы будем за счёт плагина и надежно настроим отправку сообщений, для того чтобы они больше не попадали в папку СПАМ получателей.
Встречайте, плагин WP Mail SMTP
Необходимо установить плагин на ваш сайт. Если вы не знаете, как это сделать, то воспользуйтесь этой инструкцией.
После установки и активации перед вами откроется окно помощника установки. Предлагаю просто вернуться в Панель управления
Далее, мы окажемся на странице настроек плагина. Кстати, он создаёт целый раздел в Главном меню панели управления
В первую очередь нас интересует раздел на этой странице, который называется Почтовая программа. Тут нам нужно будет выбрать провайдера (сервис-посредник, через который будет осуществляться отправка Email-сообщений)
Из примера мы видим, что по умолчанию у нас стоит PHP, который нам нужно поменять на один из доступных сервисов. Отмечу, что часть из них доступны только в платной версии.
Мы воспользуемся универсальным методом Прочие SMTP. Это подойдёт для большинства пользователей, но стоит учесть некоторые нюансы, которые конечно же будут.
У вашего хостинг-провайдера должна быть возможность создания почтовых ящиков. Точно могу сказать, что на хостинге от компании TimeWeb эта возможность присутствует. И у хостинг-провайдера 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Мб;
- рассылка должна быть валидной: не содержать вредоносных файлов и ссылок на них, в письме должна содержаться ссылка на отказ от получения данной рассылки.
Теперь подытожим, давайте зафиксируем данные которые нам понадобятся для реализации подключения:
- Адрес почтового ящика (который мы создали ранее)
- Пароль от этого почтового ящика (задаётся при создании, но можно всего его изменить)
- Адрес SMTP-сервера (у каждого провайдера свой, в нашем примере он smtp.beget.com)
- Порт 465
Теперь внесём эти данные в настройки нашего подключения SMTP на нашем сайте:
Будьте предельно внимательны. Обратите внимание, что включено, а что выключено в моих настройках, какой указан порт и т.д.
Примечание. Для опытных пользователей рекомендуется данные для подключения указывать через конфигурационный файл WordPress — wp-config.php Это позволит защитить настройки сделав невозможным их редактирование через панель управления. Подробнее…
После этого, нам необходимо перейти в раздел Инструменты и протестировать отправку нашего сообщения:
Если вы всё сделали верно, то непременно письмо будет отправлено успешно:
Но всё равно достоверность его страдает и наше письмо снова залетает в СПАМ, по крайней мере на mai.ru. Это из за того, что у нас отсутствует DKIM
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 вполне достаточно в качестве аргумента 🙂
Но завершающим действием, я предлагаю сделать добавление записи DMARK. Да, её необходимо будет добавить самостоятельно. Для этого переходим в раздел DNS
В этом разделе необходимо выбрать нужный домен и создать для него подзону:
И указываем подзону _dmarc
После этого выберем созданный поддомен и внесём запись TXT со следующим содержимым:
Подробнее ознакомиться с DMARK можно тут.
Проверить на присутствие запись вот тут.
Может не так очевидно, но сообщение говорит о том, что запись присутствует. Всё хорошо.
Попробуйте сделать повторный тест на сервисе Mail Tester. Напишите, помогло ли вам это решение?
Напоследок, рекомендую проверить следующие настройки плагина:
Адрес отправителя — тут должна быть указана ваша почта, ящик которой вы создали.
Принудительно использовать адрес отправителя — ВКЛ (включено)
Лишним не будет указать и имя отправителя на что то более уникальное, чем, как в моём примере — Demo Site.
Послесловие.
Да, безусловно путь не простой по настройке протокола для передачи E-mail сообщений, но его необходимо раз сделать и забыть, чем постоянно мучаться и подвергать себя рискам, которые особенно могут вылезти на сайте электронной коммерции.
Следующая статья тоже техническая, но она позволяет настроить отправку писем через ваш аккаунт на Gmail. В моей практике этот метод настройки был надежным и служил верой и правдой долгие годы на сайтах заказчиков.
Добавить комментарий