Como verificar se existe um endereço de email?


26

Estou tentando verificar 2.000 endereços de email para ver se eles existem. Existem maneiras de verificar se um endereço de email é válido sem enviar email para cada endereço ?.

Encontrei um serviço online Email Unlimited , mas ele só verifica 20 endereços de email antes de comprar a versão completa.

Respostas:


37

Apenas por uma questão de exaustividade: alguns servidores SMTP que indicar se existe um endereço de e-mail. Seguindo um exemplo completo em outra resposta :

telnet gmail-smtp-in.l.google.com 25

helo example.com
mail from: <me@example.com>
rcpt to: <somenonexistinguser@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596

Em caso de sucesso, e em servidores que não podem ou não querem dizer se um endereço é válido, o último comando renderia:

250 2.1.5 OK

Pode-se simplesmente chamar quitsem enviar nenhum email. Ainda assim, ao tentar vários endereços, isso também pode te bloquear.

(O Gmail não suporta o vrfycomando. No site, ele também possui um botão "verificar disponibilidade" ao se inscrever em uma nova conta do Gmail. Isso também pode fornecer algumas informações, mas os endereços antigos ficam indisponíveis por algum tempo.)


11
O SMTP define o VRFYcomando para esse fim.
grawity

@rawrawity, isso pode ser verdade em teoria, mas VRFYNÃO funciona com o Gmail. (Veja meu comentário na resposta de Michael .)
Arjan

2
Nem todos os servidores respondem com um erro "não existe" por contas ausentes, portanto, isso não é totalmente confiável. Se o servidor for um proxy (e / ou servidor secundário externo) para vários outros servidores, ele poderá não saber quais contas são válidas no próximo salto, fornecendo "250 OK" para qualquer coisa e alguns servidores são configurados dessa maneira em para impedir que os spammers tentem enumerar contas válidas. Um teste rápido de alguns dos servidores de correio de nossos clientes mostrou que 1 dos 5 que eu tentei não deu uma resposta 5xx para uma conta inexistente.
David Spillett

(. @ David, eu sei É por isso que eu usei a palavra "alguns" acima ... Mas eu tenho enfatizado que um pouco.)
Arjan

@Arjan Eu escrevi um pequeno script python para automatizar este gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Arul

23

Se isso fosse possível, os remetentes de spam em todo o mundo estariam cantando de alegria.

Desculpe, mas não, não é possível saber se existe um endereço de email específico ou não.

Na minha opinião, este é um recurso!

  • Se você conhece seus correspondentes, você saberá as informações de contato deles.
  • Se você não conhece seus correspondentes, então você é um estranho e eles não vão gostar de receber e-mails não solicitados.
  • Se você conhecia seus correspondentes e eles não o mantinham informado sobre as alterações de endereço, eles tomaram uma decisão (in?) Consciente de não receber seu e-mail.

O melhor que você pode fazer é enviar um email para sua lista e remover os que retornam (= aqueles que não puderam ser entregues).

Seja cuidadoso! Em alguns países, é ilegal enviar emails em massa não solicitados para pessoas que não permitiram explicitamente isso com antecedência.


Obrigado por isso. Mas sim, conhecemos os contatos, mas alguns deles não atualizaram seus detalhes de contato conosco quando mudaram de posição ou empresa. Enviamos boletim informativo da última vez e ele devolve endereços de e-mail e nossa conta foi reativada devido à alta porcentagem de devoluções de e-mails. Eu encontrei um na internet, mas não tenho certeza se isso é confiável: confirm-email.org
tintincutes

2
+1 - se funcionasse, seria rapidamente abusado. É por isso que não podemos ter coisas boas!
David Spillett

2
Não sei por que isso é fortemente votado. A lição de ética 101? Eu já vi algo parecido com o que o OP quer que seja usado, e nem mesmo para fins nefastos. As outras respostas e comentários sugerem que é possível para muitos servidores de correio, especialmente corporativos / fora do Google.
Daniel Beck

11
@ Daniel: certamente é possível para alguns ( muitos , de fato) servidores / serviços de correio - mas não é confiável nem é necessariamente confiável para um determinado endereço. Eu votei pela correção técnica de "você não pode ter certeza" e não por qualquer aspecto ético.
David Spillett

11
As pessoas que foram usadas como remetentes falsos de spam não ficarão muito felizes com esse "recurso" ao receberem muitos retrocessos . (Além da mensagem de salto ocasional de corridas que usam um diferente From, Reply-toou Return-Pathpara cada mensagem, que tenho recebido milhares de mensagens de retorno em duas ocasiões facilmente filtrada, ainda não muito agradável..)
Arjan

7

Realmente não existe uma boa maneira de fazê-lo. Existe um comando 'VRFY' no protocolo SMTP, mas não conheço ninguém que permita que isso funcione mais - é muito útil para remetentes de spam. A maioria dos hosts apenas recusará mais o comando.

O melhor que você pode fazer agora é enviar o e-mail e registrar o que é devolvido (observando que alguns hosts de e-mail apenas travam mensagens não entregues em vez de devolvê-las).

Não sei qual é o seu negócio ou objetivo nessa lista, mas você deve saber que, se enviar um email para 2000 pessoas de uma só vez, provavelmente será sinalizado como spammer por alguns hosts de email.


11
Provavelmente mais como limpar uma lista de contatos. Os correios saltam de qualquer maneira.
Daniel Beck

Tentando limpar os contatos; Preciso criar um novo banco de dados de contatos. Temos muitos clientes de empresas diferentes, não tenho certeza se preciso categorizá-los em um banco de dados ou criaria um banco de dados diferente para empresas diferentes. Qual seria o melhor caminho?
Tintincutes

Se eu entendi corretamente, vrfy seria necessário um nome de usuário , não um endereço de e-mail? Se for verdade, acho que está sendo desativado principalmente por motivos de segurança, não para combater spammers? No Gmail, ambos vrfy existinguser, vrfy existinguser@gmail.com, vrfy someunknownusere vrfy someunknownuser@gmail.comtodos os rendimentos 252 2.1.5 Send some mail, I'll try my best, enquanto que no mesmo Gmail rcpt to: não revelar se um endereço de e-mail é válido.
quer

Com o vrfy, você se conecta a um servidor de correio e, em seguida, ao nome de usuário vrfy (a parte antes de @ no endereço de e-mail). Se estiver funcionando, ele informará sim ou não se o usuário é real. Se não estiver funcionando (muitos não estão), então ele dirá 'proibido' ou 'não faço ideia'. Observe que a resposta 'não faço ideia' é perfeitamente legítima para um host de encaminhamento de email que não tem acesso à lista de contas subjacentes. Portanto, mesmo quando estiver trabalhando, o vrfy pode não ser tão útil.
Michael Kohne

2

Não é possível determinar com precisão se um endereço é real ou não - qualquer produto que afirme ser capaz de exagerar suas habilidades, portanto você deve considerar outras reivindicações feitas com um olhar cínico.

Existem bibliotecas F / OSS existentes que fazem o máximo possível: eu acho que a maioria dos softwares no mercado é apenas um invólucro sofisticado para que você possa criar facilmente o que é bom / ruim se você tiver alguma experiência em codificação. Mas lembre-se de que, por melhor que seja a rotina de validação, será muito propenso a fornecer resultados falso-positivos e falso-negativos.

O http://freshmeat.net/projects/emailaddressvalidationcomponent, por exemplo, apresenta uma pesquisa rápida para freshmeat e, assumindo que a descrição esteja correta, ele faz tudo o que pode ser feito para tentar verificar um endereço.


@ DanieL: Ok, obrigado por isso. Que tal este? Isso também é válido: techie-buzz.com/how-to/…
tintincutes

@tintincute: parece bem válido, minha fonte do Lifehacker usa o mesmo vídeo ... #
studiohack


1

Dentro do contexto da empresa, isso pode ser feito automatizando as pesquisas no Active Directory.



1

Você pode tentar: http://verify-emails.com/

Ainda é um serviço de compra e compra, mas pode lidar com listas e emails únicos e pode ser incorporado aos formulários de registro.


Esse domínio é para vendas. Site está morto.
Bulrush

1

Eu também precisava de uma maneira de verificar a existência de endereços de e-mail, então acabei escrevendo meu próprio pequeno utilitário. (Pitão)

http://github.com/un33k/python-emailahoy

É 100% preciso quando o fornecedor é honesto com você.
(o gmail é bastante honesto, mas o yahoo NÃO é o que diz sim a todos os e-mails.)

É melhor que nada, pois reduziu os spams em mais de 50% para mim.


0

É possível verificar se existe um endereço de email usando este link: http://verify-email.org/ . Ele faz ping no endereço de email e responde Okse o email existe e Badse o email é falso ou não existe. mais um link útil para esse problema: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html


1º link: parece que a verificação de endereços únicos é gratuita, mas a verificação de 2000, conforme solicitado na pergunta, requer software pago. Essa é a situação para a qual a pergunta busca uma alternativa, portanto, essa não é realmente uma solução para a questão. O segundo link também lida com verificações únicas. Superusuário não é um fórum, onde é típico deixar qualquer coisa que geralmente esteja relacionada ao tópico. Seu objetivo é criar uma base de conhecimento e cada resposta deve fornecer uma solução para o que foi solicitado. Respostas que não tendem a atrair votos negativos.
fixer1234
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.