Всем привет!
Сегодня я кратко опишу процедуру запуска @prisma-cms с настройками DKIM, то есть с ключом подтверждения домена для отправляемых с сервера писем. Без него, в большинстве случаев отправки писем с сервера, они будут отправляться в спам (а то и вовсе не приниматься почтовыми серверами).
1. Устанавливаем мейл-сервер для отладки.
Если мы занимаемся первичной разработкой и отладкой локально, то имеет смысл локально установить мейл-сервер для отладки, который будет на себя ловить всю отправляемую почту. Это очень удобно, так как часто реальные почтовые серверы могут не просто в спам письма отправлять, но и вовсе не принимать письма, если с ними что-то не так. А со своим почтовым сервером мы сможем получить все письма и посмотреть их исходники.
Для установки выполняем
Если все ОК, откройте http://localhost:8025, должен крутиться веб-интерфейс установленного почтового клиента. http://joxi.ru/MAjz7eNc4zjzzA
2. Генерируем ключи.
Идем на https://dkimcore.org/tools/keys.html, указываем свой домен и получаем приватный и публичный ключ. Приватный ключ надо сохранить на сервер, к примеру в /opt/dkim/mydomain/privatekey.txt.
Публичный ключ мы себе никуда не сохраняем, а просто записываем в DNS. Пример:
То есть надо в управлении DNS создать TXT-запись поддомен 23423423.vr._domainkey со значением вида v=DKIM1;p=PublicKEY (поддомен конечно же у вас будет указан другой).
3. Запускаем @prisma-cms с указанием DKIM-ключа. Полная команда будет выглядеть вот так:
Обратите внимание! Здесь есть путаница. Поддомен предлагается создать 1551899575.vr._domainkey, но key selector не 1551899575.vr._domainkey, а 1551899575.vr. Если указать 1551899575.vr._domainkey, то будет ошибка, точнее об этом не будет сказано, но если смотреть исходники полученного письма в гугле, то DKIM не пройден. http://joxi.ru/nAyYL6ZSYZ9wPA
Можно еще проверить ключ здесь: https://dkimcore.org/tools/, только вводим домен не в раздел Generate a DKIM Core Key, а Check a published DKIM Core Key, и туда же указываем ключ поддомена, в моем случае 1551899575.vr Должно быть все ОК http://joxi.ru/DmBJ1RaCw0qqKm
4. Проверяем ключ.
Запускаем фронт
Регистрируем пользователя (если его еще нет), после этого разлогиниваемся и запрашиваем новый пароль. Ждем некоторое время (по умолчанию рассылка писем выполняется раз в минуту или типа того), или просто перезапускаем сервер (при запуске выполняется рассылка писем) и получаем письмо счастья. Смотрим исходник письма, есть информация о подписи: http://joxi.ru/krDq1k3tERGLvm
Если с подписью все ОК, то гугл это отметит: http://joxi.ru/n2YdR0WHoMk0am
P.S. В свое время я не раз настраивал DKIM на сервере. Тогда приходилось ставить отдельный софт, конфигурить его, sendmail конфигурить и т.п. Задачу разных подписей для разных доменов на одном сервере я и вовсе не победил... А сейчас все гораздо проще. Ничего особенно ставить и не надо.
Просто лирическое отступление...
P.P.S. Плюс к этому желательно еще добавить записи SPF и DMARK. Я создаю такие: