Настройка DKIM в exim4

Чтобы массовые почтовые серверы типа gmail не банили отправляемые сообщения, нужно настроить домен и exim на поддержку DKIM. Создаем папку для хранения ключей
mkdir /etc/exim4/dkim
cd /etc/exim4/dkim
Создаем ключи
openssl genrsa -out example.com.key 1024
openssl rsa -in example.com.key -pubout > example.com.pub
Добавляем в DNS запись: mail._domainkey.example.com. (где example.com - наш домен) типа TXT такого содержания:
v=DKIM1; k=rsa; p=XXXYYYZZZ
где XXXYYYZZZ - публичный ключ - содержимое файла example.com.pub без строчек BEGIN PUBLIC KEY и END PUBLIC KEY, в одну строку, без пробелов и переводов строки. Настройка прав доступа к файлам ключей:
chown -R Debian-exim:Debian-exim /etc/exim4/dkim/
chmod 640 /etc/exim4/dkim/*
В конфиге Exim /etc/exim4/exim4.conf.template (в разделе 30_exim4-config_remote_smtp) или в случае конфига, разбитого несколько файлов, то в файле /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp добавить настройки:
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_KEY_FILE = /etc/exim4/dkim/DKIM_DOMAIN.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_KEY_FILE}{0}}
DKIM_SELECTOR = mail
При этом значение DKIM_SELECTOR и начальная часть DNS-записи должны совпадать (в этом примере: mail). Перезапустить exim
service exim4 restart
P.S. Чтобы отключить отправку сообщений с ip6-адреса и оставить только ip4, в конфиге exim4 над строxкой begin acl добавить строчку:
disable_ipv6 = true
Проверка настройки DNS: dnswatch, mxtoolbox

Leave a Reply

Your email address will not be published. *
You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>