Настроить dkim подпись beget

Email рассылка — настраиваем SPF, DKIM, DMARC и PTR записи

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

В нашей статье рассмотрим настройку SPF, DKIM, DMARC и PTR записи на примере хостинга Beget.

У нас есть сайт cost-site.com (сайт может быть поддоменом, или сайт вида site.com или www.new.site.com и тд).

Задача: отправлять email письмо, средствами php mail() и при этом чтобы письмо проходило проверки и не попадало в спам в почтовых сервисах ( Яндекс, Gmail и тд).

Обратите внимание, что даже если вы настроите все как в нашей инструкции это не 100% гарантия того что письма не будут попадать в спам, но вероятность такого попадания в разы меньше.

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

Читайте также:  Как собрать краб для волос если он сломался

Открываем DKIM генератор

Заполняем форму и нажимаем кнопку Создать ключи. В качестве «Селектора» напишем текст mail (можно любой).

Инструмент генерирует нам Приватный и Публичный DKIM ключи, а также TXT запись и TXT значение. Не закрываем страницу с данным инструментом и скачиваем все эти данные, нажав кнопку «Скачать все в ZIP».

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

На странице с DKIM генератором скопируем параметр TXT значение

Теперь переходим в панель управления хостингом. И открываем раздел для настройки DNS.

Выбираем из списка наш домен.

И в разделе Быстрое добавление создаем TXT запись вида mail ._ domainkey . cost-site .com где mail это наш селектор выбранный при генерации DKIM ключей (вместо mail там мог быть любой текст, например info, ggg и тд) со значением которое мы скопировали в буфер обмена на странице генератора DKIM.

Теперь добавим TXT запись вида _domainkey.cost-site.com со значением o=-

o=-
Означает «все сообщения с этого домена подписываются»

Означает «некоторые сообщения с этого домена подписываются»

Далее добавим DMARC TXT запись вида _ dmarc .cost-site.com со значением v=DMARC1; p=none; ruf=mailto: info @cost-site.com

info @cost-site.com почта на которую будут приходить отчеты

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

Проверим результат наших стараний с помощью инструмента Проверка SPF, DKIM, DMARC записей

Заполним поля формы нашими значениями и нажмем кнопку Анализ

Результат должен быть следующим

Теперь нам понадобится компонент PHPMailer. Скачать его можно на GitHub. Рекомендуем использовать версию 6.1.5. Данную версию вы можете скачать и с нашего сайта по этой ссылке

Извлекаем файлы из архива. Создаем в корне сайта папку PHPMailer. Копируем в нее ранее извлеченные файлы.

Теперь из архива скачанного со страницы генератора DKIM нам понадобится файл dkim_private.pem. Его нужно скопировать на наш сайт, но при этом нельзя чтобы доступ к нему могли получить третьи лица. В нашем примере данный файл мы скопируем в корень сайта.

Для тестирования наших писем мы воспользуемся сервисом https://www.mail-tester.com/. При переходе по ссылке вы увидите тестовую почту на которую нам нужно отправить письмо. А после отправки нажать кнопку «Затем проверьте оценку»

Как отправить подписанное DKIM письмо с сайта

Создаем файл test_mail.php в корне сайта со следующим содержанием:

Переходим по ссылке https://cost-site.com/test_mail.php и видим текст «Письмо успешно отправлено!» Смотрим оценку на mail-tester.com.

Внимание! Также возможно во время оценки будет сообщение что вам нужно настроить PRT запись! Для этого, вам нужно написать в поддержку хостинга и попросить его установить PTR запись для вашего домена. Но для этого у вас на аккаунте должен быть выделенный ip и ваш домен должен быть на этом выделенном IP. Хостинг может спросить какова цель добавления PRT запись, в ответ укажите что вам нужно чтобы при проверке на сайте https://www.mail-tester.com был максимальный результат.

А чтобы проверить наличие PRT записи у нас на SeoLik для этого тоже есть инструмент.

Источник

Настройка DKIM

В этой статье будет рассмотрена настройка цифровой подписи для Вашего домена.

Технология DomainKeys Identified Mail (DKIM) — это метод e-mail аутентификации: к отправленному письму добавляется заголовок DKIM-Signature, в котором содержится зашифрованная информация о домене отправителя. Таким образом, содержимое заголовка DKIM-Signature подтверждает отправителя письма. На стороне получателя подпись автоматически проверяется, после чего для определения репутации отправителя применяются «белые списки» и «черные списки». После оценки репутации отправителя письма это письмо может быть принято, помещено в папку «Спам», либо отправлено на дополнительную проверку.

Настройка DKIM при отправке рассылок через хостинг Beget

На хостинге Beget можно настроить DKIM-подпись для следующих способов отправки писем:

  • через SMTP-сервер;
  • через функцию PHP mail(), он же sendmail.

Для создания DKIM-подписи для писем, отправляемых средствами PHP mail(), потребуется выделенный IP-адрес, подключить его можно из Панели управления аккаунтом, в разделе Сайты. Далее для настройки DKIM-подписи необходимо написать тикет из раздела Помощь и поддержка, указав в нём домен сайта.

Для создания DKIM-подписи для писем, отправляемых средствами SMTP, необходимо написать тикет из Панели управления аккаунтом, раздел Помощь и поддержка, указав в нём домен сайта. Настройка DKIM для SMTP возможна только на оплаченных аккаунтах (минимум на месяц по текущему тарифному плану). Настройка DKIM-подписи с нашей стороны возможна только в том случае, когда рассылки отправляются через наш хостинг и почта работает через нас, то есть, в качестве MX записи у домена, будут значения:

Настройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)

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

Рассмотрим внесение нужных записей на примере сервиса unisender.com. Для других сервисов рассылки инструкция будет похожей.

1. Смотрим необходимые настройки на сервисе рассылок:

2. Переходим в раздел DNS в панели управления. В верхней части экрана выбираем домен, для которого будем редактировать DNS-записи. В нашем случае первые две строки с SPF-записью начинаются с символа @. Согласно RFC 1034, 1035 этот символ обозначает всю зону целиком. Нажимаем кнопку «открыть режим редактирования» справа от зоны, совпадающей с названием домена, и вносим нужные TXT-записи:

Если необходимо добавить spf2-запись, тогда уже создаётся новая TXT-запись. В нашем случае spf2-запись нужно добавить, сделаем это через форму быстрого добавления:

Итого мы добавили нужные TXT-записи:

3. Далее нам нужно создать подзону _domainkey и добавить в неё запись. Через форму быстрого добавления вводим название подзоны в поле name, выбираем тип записи TXT в поле type, и в поле data вставляем нужную нам запись:

4. Аналогично нужно создать подзону us._domainkey и добавить в неё запись с самой DKIM-подписью:

Итого добавленные записи выглядят следующим образом:

Обновление записей DNS происходит в течение 15 минут, после этого можно проверить наличие записи в системе DNS. Сделать это можно, к примеру, на сервисе G Suite, в качестве имени нужно ввести имя подзоны, например, us._domainkey.example.ru (вместо example.ru нужно подставить Ваш домен):

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

Для проверки через сервис Unisender была отправлена рассылка, и вот заголовок DKIM-Signature есть в технических заголовках письма:

Здесь видно, что DKIM-подпись работает.

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

Источник

Настройка DKIM

В этой статье будет рассмотрена настройка цифровой подписи для Вашего домена.

Технология DomainKeys Identified Mail (DKIM) — это метод аутентификации: к отправленному письму добавляется заголовок DKIM-ature, в котором содержится зашифрованная информация о домене отправителя. Таким образом, содержимое заголовка DKIM-ature подтверждает отправителя письма. На стороне получателя подпись автоматически проверяется, после чего для определения репутации отправителя применяются «белые списки» и «черные списки». После оценки репутации отправителя письма это письмо может быть принято, помещено в папку «Спам», либо отправлено на дополнительную проверку.

Настройка DKIM при отправке рассылок через хостинг Beget

На хостинге Beget можно настроить DKIM-подпись для следующих способов отправки писем:

  • через SMTP-сервер;
  • через функцию PHP mail(), он же sendmail.

Для создания DKIM-подписи для писем, отправляемых средствами PHP mail(), потребуется выделенный IP-адрес, подключить его можно из Панели управления аккаунтом, в разделе Сайты. Далее для настройки DKIM-подписи необходимо написать тикет из раздела Помощь и поддержка, указав в нём домен сайта.

Для создания DKIM-подписи для писем, отправляемых средствами SMTP, необходимо написать тикет из Панели управления аккаунтом, раздел Помощь и поддержка, указав в нём домен сайта. Настройка DKIM для SMTP возможна только на оплаченных аккаунтах (минимум на месяц по текущему тарифному плану). Настройка DKIM-подписи с нашей стороны возможна только в том случае, когда рассылки отправляются через наш хостинг и почта работает через нас, то есть, в качестве MX записи у домена, будут значения:

Настройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)

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

Рассмотрим внесение нужных записей на примере сервиса unisender.com. Для других сервисов рассылки инструкция будет похожей.

1. Смотрим необходимые настройки на сервисе рассылок:

2. Переходим в раздел DNS в панели управления. В верхней части экрана выбираем домен, для которого будем редактировать DNS-записи. В нашем случае первые две строки с SPF-записью начинаются с символа @. Согласно RFC 1034, 1035 этот символ обозначает всю зону целиком. Нажимаем кнопку «открыть режим редактирования» справа от зоны, совпадающей с названием домена, и вносим нужные TXT-записи:

Поскольку spf1-запись для домена у нас уже есть, просто добавляем в неё через пробел новый сервер, без создания новой TXT-записи. Если существует redirect, то значения типа include работать не будут, поэтому в нашем случае необходимо исправить redirect на include.

Если необходимо добавить spf2-запись, тогда уже создаётся новая TXT-запись. В нашем случае spf2-запись нужно добавить, сделаем это через форму быстрого добавления:

Итого мы добавили нужные TXT-записи:

3. Далее нам нужно создать подзону _domainkey и добавить в неё запись. Через форму быстрого добавления вводим название подзоны в поле name, выбираем тип записи TXT в поле type, и в поле data вставляем нужную нам запись:

4. Аналогично нужно создать подзону us._domainkey и добавить в неё запись с самой DKIM-подписью:

Итого добавленные записи выглядят следующим образом:

Обновление записей DNS происходит в течение 15 минут, после этого можно проверить наличие записи в системе DNS. Сделать это можно, к примеру, на сервисе G Suite, в качестве имени нужно ввести имя подзоны, например, us._domainkey.example.ru (вместо example.ru нужно подставить Ваш домен):

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

Для проверки через сервис Unisender была отправлена рассылка, и вот заголовок DKIM-ature есть в технических заголовках письма:

DKIM-ature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=us; d=доменотправителя.ru; h=From:To:Message-Id:Subject:MIME-Version:Content-Type:List-Help:List-Id: List-Unbe::no; i=@доменотправителя.ru; bh=bXvoaXR+a1NFSNkUPp9bw+sm5KA=; b=Nel1LTDx3EMy9oPXgrnkVJSk7ZdWUKhuZiynSC5Voi9e/PY/46VF+CBgHD3I8fDdcOlKmsr1dbbo 9sYcRmIKFSTVG8PfYvEUUHeqC2K1BsvW+c8IStUGi1uAbISl2mP8di/wkoija+eBPZmPyov1/aYw Mq3HWOr7jBTH0x9RHbI= DKIM-ature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=jul2015; d=topeml.com; h=From:To:Message-Id:Subject:MIME-Version:Content-Type:List-Help:List-Id: List-Unbe:; bh=bXvoaXR+a1NFSNkUPp9bw+sm5KA=; b=eIDPgMsW3iZmHhoDEFebsbgubtxeLvMCgfu68bfvZ65pYs6PryApPXwJjdev4/2bwcYW3UybQ4oi CSowVihgzRP1bab6ZatiGHwVOQfJ04W1qafl2X0NQ/vkorP5ZdyA7V+k8tQNxdp1uL3Ce32kIk2M 1eORNohPUf9qbpOACLc=

Здесь видно, что DKIM-подпись работает.

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

Источник

Оцените статью