dsn = 5.6.0, stat = Erro no formato de dados ao encaminhar e-mail

1

Nosso host Linux (CentOS) tem vários domínios compartilhados, um dos quais é example.com ( host falso e nomes de usuário usados ao longo desta mensagem ); Usamos /etc/mail/virtusertable para que todos os e-mails de example.com sejam entregues ao usuário "exmpl" e ~exmpl/.procmailrc encaminha e-mails conforme apropriado. Este método permite que o exmpl mantenha seus próprios encaminhamentos, o que o / etc / mail / aliases não possui. Na verdade, virtusertable conhece destinatários de example.com e rejeita emails para destinatários desconhecidos. Nós aprendemos essa lição há muito tempo.

No entanto, os e-mails encaminhados desta forma estavam em falha:

Apr 30 21:33:30 bogus sendmail[25645]: r412XUQ8025645: [email protected], ctladdr=exmpl (504/504), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30965, relay=[127.0.0.1] [127.0.0.1], dsn=5.6.0, stat=Data format error

Isso pareceu bastante estranho, porque "pessoa" é um usuário válido no bogus.org, e de fato o bogus.org é o principal domínio na mesma máquina do example.com!

Como podemos corrigir isso?

    
por whbjr 12.05.2013 / 19:43

2 respostas

2

Muitos outros resolveram isso corrigindo a entrada "localhost" em /etc/hosts e / ou configurar entradas DNS apropriadas. Nós fizemos isso e isso não resolveu nosso problema.

Finalmente notamos isso: ctladdr=exmpl Para o e-mail que foi entregue corretamente, essas entradas de log mostraram isso como um endereço de e-mail completo, por exemplo, ctladdr=<[email protected]> O que faltava era essa entrada importante em virtusertable:

[email protected] exmpl

Eu não pretendo entender completamente isso (isso conta como minha pergunta!) porque para mim parece um "para trás" uso de virtusertable. No entanto, o email encaminhado como acima está funcionando agora!

May  6 21:06:40 bogus sendmail[1482]: r4726ejj001480: to=<[email protected]>, ctladdr=<[email protected]> (504/504), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=62862, dsn=2.0.0, stat=Sent
    
por 12.05.2013 / 20:20
1

Geralmente é mais claro qual é o problema se você fizer telnet para o servidor MX na porta 25 e iniciar uma conversa SMTP manual.

No exemplo acima, em que ctladdr=exmpl , se você inseriu isso como MAIL FROM , o servidor MX teria dito que o domínio não existe e é por isso que não pode aceitar seus e-mails. Eu tive o problema em que somedomain.com é definido no DNS e usado para tráfego da Web, mas o Apache tenta enviar e-mails como [email protected] , e fazer uma conversa SMTP manual revelará que o servidor MX não pode encontrar www.somedomain.com .

A solução, então, é adicionar um registro A ou CNAME para este subdomínio.

    
por 09.08.2013 / 00:53