Допустим был установлен iRedMail, в процессе установки был сгенерирован DKIM ключ, теперь посмотрим какие публичные ключи присутствуют:
sudo amavisd-new showkeys sudo amavisd-new -c /etc/amavis/conf.d/50-user showkeys
Допустим отобразилось следующее:
; key#1 1024 bits, i=dkim, d=ixnfo.com, /var/lib/dkim/ixnfo.com.pem dkim._domainkey.ixnfo.com. 3600 TXT ( "v=DKIM1; p=" "AAA" "BBB" "CCC" "DDD")
Соответственно теперь добавим TXT запись на DNS сервере:
dkim._domainkey TXT v=DKIM1;p=AAABBBCCCDDD;
А также для поддомена mail:
dkim._domainkey.mail TXT v=DKIM1;p=AAABBBCCCDDD;
Подождем некоторое время и протестируем:
sudo amavisd-new testkeys dig -t txt dkim._domainkey.ixnfo.com dig -t txt dkim._domainkey.mail.ixnfo.com
Можно проверить из командной строки Windows:
nslookup -type=txt dkim._domainkey.ixnfo.com nslookup -type=txt dkim._domainkey.mail.ixnfo.com
Если DNS запись еще не обновилась или что-то указали не верно, то будет ошибка:
TESTING#1 ixnfo.com: dkim._domainkey.ixnfo.com => invalid (public key: not available)
Если все верно, то:
TESTING#1 ixnfo.com: dkim._domainkey.ixnfo.com => pass
Если необходимо сгенерировать DKIM для нового домена, то выполним (можно указать 2048 вместо 1024, но не все DNS могут поддерживать такую длину ключа):
amavisd-new genrsa /var/lib/dkim/new_domain.com.pem 1024 chown amavis:amavis /var/lib/dkim/new_domain.com.pem chmod 0400 /var/lib/dkim/new_domain.com.pem
Найдем в файле конфигурации /etc/amavis/conf.d/50-user записи о старом домене и добавим после них новые. По умолчанию один DKIM ключ указан для всех доменов.
После изменений перезапустим amavis:
service amavis restart service amavis status
Для отслеживания проблем можно добавить основной домен в postmaster.google.com, статистика будет отображаться также и для поддоменов, об этом можно прочитать справку тут https://support.google.com/mail/answer/6258950
Смотрите также мои статьи:
Как настроить SPF записи
Как добавить DKIM запись
Как добавить DMARC запись