Настройка sendmail + opendkim на Ubuntu

Для начала необходимо установить сам sendmail.
apt install sendmailРедактируем hosts
nano /etc/hostsи добавляем туда строку
127.0.0.1 localhost domain.comОбратите внимание! Везде где указан domain.com — меняем на свой реальный домен.
Ставим opendkim и opendkim-toolsе
apt-get install opendkim opendkim-toolsСоздаем папку где будут храниться ключи
mkdir -p /etc/opendkim/keys/domain.comГенерируем ключи
opendkim-genkey -D /etc/opendkim/keys/domain.com -d domain.com -s mailПосле выполнения команды в папке /etc/opendkim/keys/domain.com появятся два файла mail.txt и mail.private
Для них необходимо назначить права доступа
chown -R opendkim:opendkim /etc/opendkim/keys/domain.com
chmod 640 /etc/opendkim/keys/domain.com/mail.private
chmod 644 /etc/opendkim/keys/domain.com/mail.txtРедактируем конфигурацию opendkim
nano /etc/opendkim.confУдаляем все и вставляем данную конфигурацию.
AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:8891@127.0.0.1
Domain domain.com
Selector mailСоздаем три файла и добавляем в них необходимую конфигурацию
nano /etc/opendkim/KeyTablemail._domainkey.domain.com domain.com:mail:/etc/opendkim/keys/domain.com/mail.privatenano /etc/opendkim/SigningTable*@domain.com mail._domainkey.domain.comnano /etc/opendkim/TrustedHosts127.0.0.1
localhost
domain.comОткрываем конфиг sendmail
nano /etc/mail/sendmail.mcи добавляем в конец
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')Открываем конфиг opendkim
nano /etc/default/opendkimи расскоментируем строку SOCKET=»inet:8891@localhost«
Если ее нету, то просто добавляем в конец.
Пересобирем конфиг opendkim и перезапускаем службы
sendmailconfig
systemctl restart sendmail
systemctl restart opendkimТеперь необходимо добавить TXT запись домена.
Субдомен указываем mail._domainkey, а значение берем из файла /etc/opendkim/keys/domain.com/mail.txt
Пример:
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hrOt283HUPBskuF2f6Dij9BDxxx+Gz09lGUu7dp8lL8S7it3SI2HQRqgM/HlsNoRihNxxx/Edgs8FFoaru4N7b8QXJirXxpe7yJRbnUhYacFVxxxGuFJPpRr6LNSVWhWh8d4Z2e2af2n2VJVbb5ByP3b6MxxxKYw8gj1oVyHVq+kM7jLzOvA8zu9NyPaPhKcF68ZVCnkrON4lgUzQwLwJHo3I5YF7zwAK5jDRZlriI8aXkzxxxSYlyzMFyd6E/5s9TwO40UyhfEl3WooLRaB27ty5MBdg4pJtch4IiM4FhslxRDf1d7juuDktL81YdDosD4RDBgphl6lZoOynOe9wIDAQAB

На этом настройка sendmail + dkim завершена. Проверить работоспособность dkim можно на https://www.mail-tester.com/