A verificação de e-mail com o SMTP falha na máquina local para determinados domínios

1

Desejo verificar se existe caixa de correio para um email com SMTP. Eu sou capaz de fazer as seguintes coisas:

  1. Obter registros MX do domínio
  2. Conectar-se ao host via SMTP

Então eu executo os seguintes comandos:

  HELO somedomain.com
  MAIL FROM:<[email protected]>
  RCPT TO:<[email protected]>

Os comandos acima me dão 250 de resposta para e-mails inválidos na minha máquina local. Mas quando eu verifico o email em algum serviço online, recebo 554 response (o que é correto). Qual é a razão por trás desse comportamento estranho (resultados inválidos na máquina local)?

    
por vedarthk 17.10.2013 / 15:29

2 respostas

1

Seu RCPT TO: deve obter 550 e não 554 tecnicamente se a caixa de correio não existir. Um 554 é usado se o comando falhar (como uma sintaxe de comando inválida) No entanto, como Gryphius disse, muitos servidores de e-mail responderão com um 250 se a sintaxe usada for válida. Ainda não está verificando se a caixa de correio real existe OU simplesmente não quer dizer se o endereço existe ou não.

O comando VRFY é tecnicamente o que o protocolo SMTP "deveria" estar usando para verificar se um endereço de e-mail existe ou não. Mas alguns serviços de e-mail proeminentes não permitem VRFY ou novamente, simplesmente diga "Não tenho certeza, mas vou tentar entregá-lo".

A razão pela qual muitos "servidores" de SMTP respondem com 250 OK é porque frequentemente eles são apenas gateways front-end para outros servidores de correio ou um "salto" na sequência. Então, eles permitirão que outro servidor na cadeia manipule se o endereço é válido ou não. Outras vezes, os servidores de e-mail não querem que alguém faça uma iteração por meio de vários endereços de e-mail, esperando obter uma lista de inválidos versus válidos.

    
por 17.10.2013 / 16:27
0

você não pode confiar no SMTP para fazer a verificação do destinatário. muitos servidores de e-mail apenas verificam endereços de destinatários após o e-mail foi aceito na fila local. se a conta do destinatário não existir, eles retornarão uma rejeição. (comportamento "aceitar e rejeitar").

    
por 17.10.2013 / 15:48

Tags