Verifique se você está usando o remote_smtp
transport. Isso deve ser listado após T=
em /var/log/exim4/mainlog
nas linhas que contêm =>
. A verificação do DKIM no e-mail entregue localmente não funcionará, pois esse transporte não é usado. Use um serviço de verificação para verificar se seu e-mail está assinado.
Verifique as permissões na sua chave privada. Ele deve ser legível pelo uso do Exim como o Debian-exim para as instalações Debian e Ubuntu. Se o seu transporte for para dkim_strict
, ele recolocará as mensagens se não puder assinar a mensagem. Ele registrará as causas de falha para o mainlog
e o paniclog
. Pode ser mais fácil encontrar a mensagem no paniclog
.
Estas são as configurações necessárias para o funcionamento do DKIM. Você parece estar perdendo alguns. (Assino vários domínios com a mesma chave. Tente assinar com uma única chave antes de tentar usar a fantasia e use chaves separadas para domínios diferentes.) Essa configuração deve evitar que emails não assinados sejam enviados pelo remote_smtp
transport.
DKIM_CANON = relaxed
DKIM_DOMAIN = ${sender_address_domain}
DKIM_PRIVATE_KEY = CONFDIR/dkim.private.20160604
DKIM_SELECTOR = ${extract{-1}{.}{DKIM_PRIVATE_KEY}}
DKIM_STRICT = true # optional - causes signing failures to defer (requeue)
#DKIM_SIGN_HEADERS = # Use default
Depois de assinar com uma chave estática funcionando. Você poderia tentar essas mudanças
DKIM_PRIVATE_KEY = CONFDIR/${sender_address_domain}.private.201604
DKIM_SELECTOR = 20160604
DKIM_STRICT = false # optional - pass if no key available
Você pode querer revisar:
- Minhas anotações sobre a implementação do DKIM - inclui as configurações para outros transportes
- Minhas anotações sobre a detecção de servidores falsificados - particularmente a lista de serviços de verificação
- A documentação do Exim sobre o DKIM