Eu tentei tudo o que posso pensar para fazer o DKIM funcionar com o Exim4 no meu servidor Ubuntu 16.04, mas os e-mails enviados do meu servidor ainda não são assinados com o DKIM!
Estou usando Exim4, configuração não dividida.
Eu gerei chaves privadas e públicas usando estes comandos em /etc/exim4/dkim:
sudo openssl genrsa -out dkim.key 1024
sudo openssl rsa -in dkim.key -pubout > dkim.pub
Editei as seguintes linhas em /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
Em seguida, executei estes comandos:
sudo update-exim4.conf
sudo service exim4 restart
Adicionei este registro TXT aos meus registros DNS (usando a chave pública):
TXT mail._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvnoSm2o5X9JoCKfYlhkRv5mj4yRscjlv5JmNj1PfBeZGp57XgriRCcA4S5/egrPI2VfKzoCwRsGp4uCD/UJ7+6DgCVNseSlD+n6n4mRANWWlfY7LvHfp8sAR80aurwNyx7/PHGg+ZukHcllvYCtZtg4jtZTrl8w1yiKXyJ3G3fQIDAQAB"
Enviei um e-mail do meu servidor para o meu endereço do Gmail e foi direto para o spam. Clico em "Mostrar original" e o DKIM não é mencionado em nenhum lugar nos cabeçalhos do e-mail.
Por favor, me diga o que estou fazendo de errado! Obrigado!
exim
permite configuração de tempo de execução condicional.Se a variável XXXX tiver algum valor atribuído, ela se tornará "definida" e
.ifdef XXXX
será avaliada comoTRUE
. Mesmo que XXXX esteja definido comoXXXX = false
ainda está definido de alguma forma. A linha deve ser comentada para evitar definição. A configuração do pacote contém muitos trechos de configuração para muitas situações, mas eles geralmente são desabilitados por variáveis de controle comentadas.No seu caso, você precisa encontrar onde
DKIM_DOMAIN
,DKIM_SELECTOR
,DKIM_PRIVATE_KEY
e o restante dasDKIM_*
variáveis definidas e descomentá-las.