Isso acabou sendo culpa de no_verify
na configuração do roteador. Os documentos recomendam essa configuração para encaminhadores, mas talvez isso seja apropriado somente ao encaminhar localmente.
Eu tenho o exim4 configurado para encaminhar emails para determinados endereços.
Os endereços estão em domínios virtuais para os quais o servidor é o MX principal.
Outros endereços nesses domínios são entregues às caixas de correio locais, mas os endereços configurados para encaminhar vão para domínios externos para os quais o servidor não é um MX e o email não deve ser entregue a uma caixa de correio local.
por exemplo. se o servidor for o MX principal de example.com
, ele deverá entregar o correio localmente para [email protected]
, mas [email protected]
deverá encaminhar para [email protected]
.
Todos os dados para domínios e endereços virtuais são armazenados no MySQL.
O sistema operacional do servidor é o Debian.
A configuração do roteador de encaminhamento (em /etc/exim4/conf.d/router/400_exim4-config_mysql_forward
é a seguinte:
mysql_forward:
debug_print = "R: forwarder(mysql) for $local_part@$domain"
driver = redirect
no_verify
no_expn
check_ancestor
forbid_smtp_code = true
skip_syntax_errors
domains = +local_domains
data = ${lookup mysql{SELECT forward_to FROM mail_forwarders WHERE domain='${quote_mysql:$domain}' AND localpart='${quote_mysql:$local_part}' AND active=1} {${sg{$value}{\n}{, }}}}
exim -bt [email protected]
apresenta algo como:
R: forwarder(mysql) for [email protected]
R: dnslookup for [email protected]
[email protected]
<-- [email protected]
router = dnslookup, transport = remote_smtp
host gmail-smtp-in.l.google.com [74.125.133.27] MX=5
host alt1.gmail-smtp-in.l.google.com [173.194.222.27] MX=10
host alt2.gmail-smtp-in.l.google.com [74.125.200.27] MX=20
host alt3.gmail-smtp-in.l.google.com [74.125.23.27] MX=30
host alt4.gmail-smtp-in.l.google.com [173.194.72.27] MX=40
Eu posso enviar e-mail com um comando local e ele é encaminhado com sucesso.
No entanto, ao enviar e-mails de uma fonte externa, o e-mail é rejeitado com 550 Unrouteable address
, por exemplo:
telnet mailserver.example.com 25
Connected to mailserver.example.com.
Escape character is '^]'.
220 mailserver.example.com ESMTP
EHLO office.mylocaldomain.com
250-mailserver.example.com Hello office.mylocaldomain.com [21.22.23.24]
250-SIZE 52428800
250-PIPELINING
250 HELP
MAIL FROM: <[email protected]>
250 OK
RCPT TO: <[email protected]>
550 Unrouteable address
QUIT
Tenho certeza de que mais configurações serão necessárias para diagnosticar isso completamente. Por favor, pergunte e eu vou fornecer.
Tags exim mail-forwarding