Sendmail parou de funcionar

0

Eu tenho vários servidores CentOS, todos com configuração do sendmail com a opção masquerade_domain. Nosso servidor de e-mail é o Gmail; Assim, cada um desses servidores envia e-mails para nosso domínio no Gmail. Eu coloquei na lista de permissões cada um dos endereços IP do servidor em nosso domínio do Gmail. Funcionou durante anos ... literalmente anos.

De repente, um dos e-mails noturnos do meu servidor parou de funcionar.

Com minha configuração, quando um email é enviado usando a linha de comando de um servidor, como:

echo "Hello World" | mutt -s "Test Hello World Email" [email protected]

... ou ...

echo "Hello World" | mail -s "Test Hello World Email" [email protected]

... o maillog mostra que está sendo retransmitido pelo localhost e depois pelo gmail. Um envio bem-sucedido é assim:

from=<[email protected]>, size=483096, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
[email protected], ctladdr=root (0/0), delay=00:02:00, xdelay=00:00:00, mailer=relay, pri=512775, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Message accepted for delivery)
STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=603096, relay=aspmx.l.google.com. [74.125.124.27], dsn=2.0.0, stat=Sent (OK)

No entanto, atualmente, no servidor que parou de funcionar, vejo isto:

from=<[email protected]>, size=483096, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
[email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30006, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Message accepted for delivery)
STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=AES128-SHA, bits=128/128
to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=120317, relay=aspmx.l.google.com. [108.177.112.27], dsn=5.0.0, stat=Service unavailable
DSN: Service unavailable
Losing ./: savemail panic
SYSERR(root): savemail: cannot save rejected email anywhere

As duas linhas / var / log / maillog que se destacam são:

DSN: Service unavailable

... e ...

SYSERR(root): savemail: cannot save rejected email anywhere

Assumi originalmente que a última entrada de log (não é possível salvar o email rejeitado) foi devido ao fato de o relé não estar funcionando; no entanto, desde que esse problema se originou, tentei mudar minha configuração do sendmail para permitir a entrega local de algumas contas e atualizei meu / etc / aliases para apontar muitos aliases para uma das contas com entrega local pelo virtusertable. ... mas eu tenho falhado miseravelmente em fazer qualquer progresso.

Vale a pena notar que verifiquei novamente meu arquivo / etc / hosts, assim como /etc/resolv.conf. O Nslookups parece estar funcionando bem e meu nome de host corresponde ao arquivo / etc / hosts. Além disso, as entradas de DNS públicas para esse servidor correspondem ao nome do host e ao endereço IP do servidor.

Qualquer ajuda é muito apreciada.

    
por MSF004 05.06.2018 / 21:28

1 resposta

1

Eu queria compartilhar a solução para o meu problema. Isso não quer dizer que essa será a solução para o problema semelhante de todos, mas talvez o caminho da solução de problemas que tomei possa ajudar outras pessoas.

Primeiro, observei o maillog. Que, para sendmail, no padrão RHEL e CentOS é: / var / log / maillog. Você pode ver minhas entradas no maillog acima e as duas questões que presenciei, que foram (simplificadas):

relay=aspmx.l.google.com., dsn=5.0.0, stat=Service unavailable

... encurtado como: DSN: Service unavailable

... e ...

SYSERR(root): savemail: cannot save rejected email anywhere

Os últimos problemas foram porque eu estava usando o sendmail para mascarar todos os e-mails para o servidor de e-mail principal de nossa empresa (que estava no google). Em última análise, o que estava acontecendo era:

  1. O email inicial foi entregue localmente
  2. o baile de máscaras tentou reproduzir o email no google
  3. o replay não funcionou e uma mensagem de devolução foi criada
  4. a mensagem de devolução não foi enviada porque ela também tentava ser reproduzida no google

Assim, não consegui ver o motivo da rejeição.

Eu superei isso e consegui visualizar os detalhes de devolução com este comando:

(echo Subject: test; echo; echo test)|/usr/sbin/sendmail -Am -i -v [email protected]

(Obviamente, mude [email protected] para outra coisa; embora não seja enviado de qualquer forma).

O comando acima me permitiu ver a mensagem de erro em detalhes:

550-5.7.1 [my.servers.ip.address] The IP you're using to send mail is not authorized to
550-5.7.1 send email directly to our servers. Please use the SMTP relay at your
550-5.7.1 service provider instead. Learn more at
550 5.7.1  https://support.google.com/mail/?p=NotAuthorizedError

Ao ler sobre isso, aprendi rapidamente que o IP do meu servidor estava em uma lista de Bloqueios de Políticas que abrangia milhares de IPs. Enviei uma solicitação para remover meu IP do bloco de políticas e tudo funcionou novamente.

    
por 07.06.2018 / 16:14