Давно хотел перейти с dkim-filter на opendkim, поскольку первое уже не поддерживается для Debian. В качетстве MTA у меня стоит exim, а он имеет вшитую поддержку dkim. То есть, мне надо всего лишь заменить софт, сгенерировать ключи для домена и сделать запись в DNS. Да, потом ещё и проверить корректность выполненной работы.
Сначала заменим пакет:
apt-get remove dkim-filter apt-get install opendkim-tools
Создадим ключ и запись для DNS.
cd /etc/exim4 opendkim-genkey -d MyDomain -s mail -r mv mail.private MyDomain.key mv mail.txt MyDomain.txt chgrp Debian-exim MyDomain.key chmod 640 MyDomain.key
Изменим зону. Раз пошла такая пьянка – сделаем заодно и запись для spf. Тип записи – TXT.
MyDomain. 86400 IN TXT "v=spf1 +mx a:<a-запись сервера исходящей почты> a:<ещё одна> ?all" mail._domainkey.MyDomain. 86400 IN TXT "v=DKIM1; k=rsa; p=MIG...длинный_ключ...AQAB"
Настройки exim я здесь не касаюсь, ниже есть ссылка. Теперь перезапустим dns и убедимся, что обе записи заработали: “dig txt MyDomain” и “dig txt mail._domainkey.MyDomain”
Теперь тестовое письмо на MyEmail@gmail.com . Смотрим заголовки:
Received-SPF: pass - порядок, дальше расшифровка. Authentication-Results: mx.google.com; spf=pass - порядок dkim=pass - порядок DKIM-Signature: - описание того, что разбирал гугль
Использованные материалы:
- SPF syntax
- RFC4871 – формат поля для DNS
- Postfix + dkim валидная почта
- DKIM в exim на Debian Squeeze
- dkim.org – первоисточник