Настройка 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>