sudo apt-get install opendkim opendkim-tools sudo mkdir /etc/postfix/dkim/
sudo opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail.example.com
В /etc/postfix/dkim/ появится файлы с приватным и публичным ключом для домена example.com
sudo chmod 600 /etc/postfix/dkim/example.com.private
sudo chown -R opendkim /etc/postfix/dkim/
sudo vim /etc/opendkim.conf
Syslog yes #Режим подписи и проверка подписей Mode sv #Указываем список ключей KeyTable file:/etc/postfix/dkim/keytable #Соответствие ключей и доменов SigningTable file:/etc/postfix/dkim/signingtable
#имя_ключа домен:селектор:/путь/до/ключа mail._domainkey.example.com example.com:mail:/etc/postfix/dkim/example.com.private
#домен имя_ключа example.com mail._domainkey.example.com #можно указать несколько доменов #example.net www._domainkey.example.net
SOCKET="inet:8891@localhost"
milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
sudo systemctl restart postfix sudo systemctl restart opendkim
sudo cat /etc/postfix/dkim/example.com.txt
#p=MIID…AQAB берем из файла /etc/postfix/dkim/example.com.txt
Хост Указатель TTL mail._domainkey v=DKIM1; g=*; k=rsa; p=MIID...AQAB 300
Указываем, что все письма для домена example.com должны быть подписаны Возможные варианты:
Хост Указатель TTL _adsp._domainkey dkim=all 300
Также проверить DKIM можно с помощью утилиты opendkim-testkey:
# opendkim-testkey -d example.com -s mail -vvv -k /etc/opendkim/keys/mail.private opendkim-testkey: using default configfile /etc/opendkim.conf opendkim-testkey: checking key 'mail._domainkey.example.com' opendkim-testkey: key not secure opendkim-testkey: key OK
#-all означает, что письмо, которое не прошло проверку, будет отклонено
Хост Указатель TTL @ v=spf1 ip4:server_ip -all 300