Олег Букатчук

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

Июн
15

Чтобы массовые почтовые серверы типа gmail, yandex, mail.ru не банили отправляемые сообщения, нужно настроить домен и exim на поддержку цифровой подписи DKIM.

И так, приступим:

1.Создаем папку для хранения ключей

mkdir /etc/exim4/dkim
cd /etc/exim4/dkim

2.Создаем ключи

openssl genrsa -out example.com.key 1024
openssl rsa -in example.com.key -pubout > example.com.pub

3.Добавляем в DNS запись: mail._domainkey.example.com. (где example.com – наш домен) типа TXT такого содержания:

v=DKIM1; k=rsa; p=XXXYYYZZZ

где XXXYYYZZZ – публичный ключ – содержимое файла example.com.pub без строчек BEGIN PUBLIC KEY и END PUBLIC KEY, в одну строку, без пробелов и переводов строк.

4.Настройка прав доступа к файлам ключей:

chown -R Debian-exim:Debian-exim /etc/exim4/dkim/
chmod 640 /etc/exim4/dkim/*

5.В конфиге Exim /etc/exim4/exim4.conf.template (в разделе 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).

6.Перезапустить exim

service exim4 restart

Profit!