Я пробовал все, что мог придумать, чтобы заставить DKIM работать с Exim4 на моем сервере Ubuntu 16.04, но электронные письма, отправленные с моего сервера, все еще не подписаны DKIM!
Я использую Exim4 без разделенной конфигурации.
Я сгенерировал закрытый и открытый ключи, используя эти команды в / etc / exim4 / dkim:
sudo openssl genrsa -out dkim.key 1024
sudo openssl rsa -in dkim.key -pubout > dkim.pub
Я отредактировал следующие строки в /etc/exim4/exim4.conf.template:
.ifdef DKIM_DOMAIN
dkim_domain = ${lc:${domain:$h_from}}
.endif
.ifdef DKIM_SELECTOR
dkim_selector = mail
.endif
.ifdef DKIM_PRIVATE_KEY
dkim_private_key = /etc/exim4/dkim/dkim.key
.endif
.ifdef DKIM_CANON
dkim_canon = relaxed
.endif
Затем запустили эти команды:
sudo update-exim4.conf
sudo service exim4 restart
Добавил эту запись TXT в мои записи DNS (с использованием открытого ключа):
TXT mail._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvnoSm2o5X9JoCKfYlhkRv5mj4yRscjlv5JmNj1PfBeZGp57XgriRCcA4S5/egrPI2VfKzoCwRsGp4uCD/UJ7+6DgCVNseSlD+n6n4mRANWWlfY7LvHfp8sAR80aurwNyx7/PHGg+ZukHcllvYCtZtg4jtZTrl8w1yiKXyJ3G3fQIDAQAB"
Отправлено письмо с моего сервера на мой адрес Gmail, и оно сразу попало в спам. Я нажимаю «Показать оригинал», и DKIM нигде не упоминается в заголовках писем.
Подскажите пожалуйста, что я делаю не так! Спасибо!
exim
позволяет условную конфигурацию времени выполнения.
XXXX = something
.ifdef XXXX
<some directives>
.endif
Если переменной XXXX присвоено какое-то значение, она становится "определенной" и .ifdef XXXX
оценивается как TRUE
. Даже если XXXX определяется как XXXX = false
это еще как-то определено. Строку следует закомментировать, чтобы не допустить определения. Связанная конфигурация содержит множество фрагментов конфигурации для многих ситуаций, но обычно они отключаются с помощью закомментированных управляющих переменных.
В вашем случае вам нужно найти, где DKIM_DOMAIN
, DKIM_SELECTOR
, DKIM_PRIVATE_KEY
и остальные DKIM_*
переменные определяют и раскомментируют их.