I've tried everything I can think of to get DKIM working with Exim4 on my Ubuntu 16.04 server, but emails sent from my server are still not signed with DKIM!
I am using Exim4, unsplit configuration.
I generated private and public keys using these commands in /etc/exim4/dkim:
sudo openssl genrsa -out dkim.key 1024
sudo openssl rsa -in dkim.key -pubout > dkim.pub
I edited the following lines in /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
Then ran these commands:
sudo update-exim4.conf
sudo service exim4 restart
Added this TXT record to my DNS records (using the public key):
TXT mail._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvnoSm2o5X9JoCKfYlhkRv5mj4yRscjlv5JmNj1PfBeZGp57XgriRCcA4S5/egrPI2VfKzoCwRsGp4uCD/UJ7+6DgCVNseSlD+n6n4mRANWWlfY7LvHfp8sAR80aurwNyx7/PHGg+ZukHcllvYCtZtg4jtZTrl8w1yiKXyJ3G3fQIDAQAB"
Sent an email from my server to my Gmail address, and it went straight to spam. I click "Show original" and DKIM is not mentioned anywhere in the email headers.
Please tell me what I'm doing wrong! Thanks!