Problema do Sendmail com mensagens de texto SMS da AT & T

0

Eu tenho a retransmissão de email funcionando corretamente, onde meu host DigOc (que tem vários domínios) está retransmitindo emails por meio do meu servidor de email separado baseado em cPanel, registrando em uma conta de email que eu tenho lá. (Este é um procedimento mais fácil para mim do que instalar e configurar o Postfix.)

Tudo está funcionando de forma fantástica, exceto até que eu queira enviar mensagens de texto SMS AT & T, como as seguintes:

[email protected]

(Eu mudei esse número, obviamente.)

Isso funciona se eu enviar manualmente um e-mail pelo Gmail a partir do meu navegador da Web, mas não se eu usar um script PHP ou um script Bash com a técnica de correio sendmail. Quando eu verificar o log de email, vejo o seguinte. Note que alterei o endereço IP e o número de telefone abaixo de propósito.

Jun  8 17:25:39 corp1 sendmail[5826]: u58HPdCP005826: from=root, size=51, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Jun  8 17:25:39 corp1 sm-mta[5827]: u58HPdKW005827: from=<[email protected]>, size=314, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=corp1.104-226-131-166-com [127.0.0.1]
Jun  8 17:25:39 corp1 sendmail[5826]: u58HPdCP005826: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30051, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u58HPdKW005827 Message accepted for delivery)
Jun  8 17:25:39 corp1 sm-mta[5829]: STARTTLS=client, relay=mx3a.txt.att.net., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jun  8 17:25:39 corp1 sm-mta[5829]: u58HPdKW005827: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120314, relay=mx3a.txt.att.net. [166.216.149.129], dsn=5.0.0, stat=Service unavailable
Jun  8 17:25:39 corp1 sm-mta[5829]: u58HPdKW005827: u58HPdKW005829: DSN: Service unavailable
Jun  8 17:25:39 corp1 sm-mta[5829]: u58HPdKW005829: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

Suspeito strongmente que o problema esteja nesta linha:

Jun  8 17:25:39 corp1 sm-mta[5829]: STARTTLS=client, relay=mx3a.txt.att.net., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256

Existe alguma coisa óbvia que eu precise fazer na configuração do Sendmail que possa ajudar a colocar essa mensagem de email em funcionamento?

EDITAR

Pegou o conselho do @Anderzej e fez esta etapa . A resposta que recebo é:

[email protected]... Connecting to mx3a.txt.att.net. via esmtp...
220 alpemg-mtmta04 bizsmtp ESMTP server ready
>>> EHLO corp1.104-226-131-166-com
250-alpemg-mtmta04 hello [104.226.131.166], pleased to meet you
250-HELP
250-SIZE 1500000
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-STARTTLS
250 OK
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO corp1.104-226-131-166-com
250-alpemg-mtmta04 hello [104.226.131.166], pleased to meet you
250-HELP
250-SIZE 1500000
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
>>> MAIL From:<[email protected]> SIZE=65
554 5.1.0 corp1.104-226-131-166-com  has no MX or A record
/root/dead.letter... Saved message in /root/dead.letter
Closing connection to mx3a.txt.att.net.
>>> QUIT
    
por Volomike 08.06.2016 / 19:49

2 respostas

2

Graças a @JennyD, esta parece ser a solução:

  1. Ative a depuração no seu script de teste do sendmail para que você possa obter uma imagem precisa do problema.

  2. Mesmo se for retransmitido por outro host, alguns servidores de e-mail retornam a você. Portanto, você precisa de um domínio válido em MASQUERADE_AS () em seu arquivo /etc/mail/sendmail.mc, ele deve estar neste mesmo servidor e deve responder a uma consulta DNS de registros A e MX. Esse domínio não precisa ser o domínio real que você deseja que o From: to say, ou até mesmo o Reply-To :, mas é apenas o domínio que o servidor de email do destinatário verificará novamente.

  3. Você precisará ler os RECURSOS MASQUERADE_DOMAIN e, em seguida, allmasquerade, masquerade_envelope e masquerade_entire_domain para ver se precisa deles, e executar vários testes se estiver enviando mensagens para vários domínios de um host. No meu caso, não precisei de nada disso. Agora posso enviar e-mails como se fossem de x.com, y.com e z.com, todos do mesmo host, e quando o servidor de e-mail AT & T fizer uma verificação no servidor de e-mail que enviou, ele listará x .com no meu caso. No entanto, quando a mensagem de alerta de texto SMS chega, posso fazer com que apareça como se fosse de x.com, y.com e z.com.

  4. Você também pode encontrar uma estranheza nos servidores de e-mail AT & T (e talvez outros servidores de e-mail), onde é necessário adicionar um quinto parâmetro ao seu comando mail() no PHP. Eu tive que ajustar o meu como mail($sEmail,'',"HERE IS YOUR ALERT",'','[email protected]'); para os alertas móveis em que x.com era o domínio De: endereço que eu queria, e $sEmail é o seu endereço Para: como [email protected] . Não note nenhum espaço após o parâmetro -f .

por 08.06.2016 / 23:23
0

O primeiro e principal problema é que o seu sendmail está configurado para usar um nome de host que não existe, dentro de um domínio que não existe. Não existe um domínio chamado "104-226-131-166-com". Isso significa que sempre que qualquer script ou função do sistema enviar e-mails sem especificar o endereço do remetente, ele usará um endereço que não funciona - o que, por sua vez, significa que alguns sistemas (como o att.net) rejeitarão o e-mail. imediatamente, outros irão classificá-lo na caixa de spam ou silenciosamente descartá-lo. E se um sistema de destinatário aceitar o email e não conseguir entregá-lo, você não receberá nenhuma mensagem de erro informando sobre o problema.

Você deve alterar sua configuração do sendmail para que o nome do host usado como padrão seja o nome do host real do servidor.

Você também deve alterar seu script para que ele defina seu próprio endereço de remetente para qualquer endereço que você queira que receba qualquer mensagem de erro.

    
por 08.06.2016 / 20:26

Tags