Recentemente, tive o mesmo desafio e, depois de muita pesquisa, não encontrei nada. Esta é a minha solução que parece funcionar, mas é específica da minha configuração, portanto, verifique como o seu Exim está realmente entregando e-mails.
Estamos usando um Smarthost (Mailgun) e o Exim é configurado por meio da GUI. Isso pode gerar os arquivos de configuração divididos como você viu. Observe que você poderia pedir ao Exim para consolidar os arquivos aqui, mas estamos usando outro software que também modifica a configuração padrão do Exim e, portanto, precisamos do método split.
Em seguida, editei manualmente /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
, que, acredito, é o transporte real usado ao enviar e-mail de saída por meio de um smarthost. Esta é a aparência da minha versão agora:
remote_smtp_smarthost:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
driver = smtp
headers_add = "X-Mailgun-Drop-Message: true"
hosts_try_auth = <; ${if exists{CONFDIR/passwd.client} \
{\
${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$host_address}}\
}\
{} \
}
.ifdef REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
hosts_avoid_tls = REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
.endif
.ifdef REMOTE_SMTP_HEADERS_REWRITE
headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
.endif
.ifdef REMOTE_SMTP_RETURN_PATH
return_path = REMOTE_SMTP_RETURN_PATH
.endif
.ifdef REMOTE_SMTP_HELO_DATA
helo_data=REMOTE_SMTP_HELO_DATA
.endif
.ifdef TLS_DH_MIN_BITS
tls_dh_min_bits = TLS_DH_MIN_BITS
.endif
Eu adicionei o parâmetro headers_add
na linha 4 - este é um servidor de teste, então eu quero que o Mailgun elimine todos os e-mails de saída, e esta é a maneira de fazer isso via SMTP.
O que eu sou não 100% de certeza é o quão robusto isso é para atualizações e reconfiguração. Estou prestes a postar uma questão relacionada sobre isso e vou criar um link para este.