¿Cómo verificar si existe una dirección de correo electrónico?


26

Estoy tratando de verificar 2.000 direcciones de correo electrónico para ver si existen. ¿Hay formas de verificar si una dirección de correo electrónico es válida sin enviar un correo electrónico a cada dirección?

Encontré un servicio en línea de correo electrónico ilimitado , pero solo verifica 20 direcciones de correo electrónico antes de tener que comprar la versión completa.

Respuestas:


37

Sólo por el bien de la integridad: algunos servidores SMTP hacer indican si existe una dirección de correo electrónico. Siguiendo un ejemplo completo en otra respuesta :

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

Tras el éxito, y en servidores que no pueden o no quieren saber si una dirección es válida, el último comando arrojaría:

250 2.1.5 OK

Uno podría simplemente invocar quitsin enviar ningún correo electrónico. Aún así, al intentar muchas direcciones, esto también podría bloquearlo.

(Gmail no es compatible con el vrfymando. En el sitio web, sino que también tiene un botón de "verificación de disponibilidad" cuando inscribirse para una nueva cuenta de Gmail. Eso también podría darle alguna información, pero las direcciones de edad no estará disponible por algún tiempo.)


1
SMTP define el VRFYcomando para este propósito.
Grawity

@grawity, eso podría ser cierto en teoría, pero VRFYNO funciona con Gmail. (Vea mi comentario en la respuesta de Michael .)
Arjan

2
No todos los servidores responden con un error "no existe" para cuentas faltantes, por lo que esto no es completamente confiable. Si el servidor es un proxy (y / o un servidor secundario externo) para varios otros servidores, es posible que no sepa qué cuentas son válidas en el próximo salto, por lo que dará "250 OK" para cualquier cosa, y algunos servidores se configuran de esta manera en para evitar que los spammers intenten enumerar cuentas válidas. Una prueba rápida de algunos de los servidores de correo de nuestros clientes mostró que 1 de los 5 que probé no dio una respuesta 5xx para una cuenta inexistente.
David Spillett

(@David, lo sé. Es por eso que usé la palabra "algunos" arriba ... Pero lo he enfatizado un poco.)
Arjan

@Arjan Escribí un pequeño script de Python para automatizar este gist.github.com/arulrajnet/c613bd0fad5de00bab2e
Arul

23

Si esto fuera posible, los spammers de todo el mundo estarían cantando con alegría.

Lo sentimos, pero no, no es posible saber si existe una dirección de correo electrónico dada o no.

En mi opinión, esta es una característica!

  • Si conoce a sus corresponsales, sabrá su información de contacto.
  • Si no conoce a sus corresponsales, entonces es un extraño y ellos no apreciarán recibir correos no solicitados de usted.
  • Si solía conocer a sus corresponsales y no lo han mantenido informado sobre los cambios en su dirección, entonces han tomado una decisión (¿no?) Consciente de no recibir su correo.

Lo mejor que puede hacer es enviar un correo electrónico a su lista y luego eliminar los que rebotan (= aquellos que no se pudieron entregar).

¡Ten cuidado! En algunos países es ilegal enviar correos electrónicos masivos no solicitados a personas que no lo han permitido explícitamente por adelantado.


Gracias por esto. Pero sí, conocemos los contactos, pero algunos de ellos no actualizaron sus datos de contacto con nosotros cuando cambiaron posiciones o empresas. Enviamos un boletín la última vez y se devuelve direcciones de correo electrónico y nuestra cuenta se reactivó debido al alto porcentaje de devoluciones de correos electrónicos. Encontré uno en Internet pero no estoy seguro de si es confiable: verifique-email.org
tintincutes

2
+1: si funcionara, se abusaría rápidamente. ¡Por eso no podemos tener cosas bonitas!
David Spillett

2
No estoy seguro de por qué esto está fuertemente votado. La lección de ética 101? He visto algo como lo que el OP quiere que se use, y ni siquiera con fines nefastos. Las otras respuestas y comentarios sugieren que es posible para muchos servidores de correo, especialmente corporativos / no Google.
Daniel Beck

1
@Daniel: ciertamente es posible para algunos ( muchos , de hecho) servidores / servicios de correo, pero no es confiablemente posible ni necesariamente es confiable para una dirección determinada. He votado a favor de la corrección técnica de "no se puede saber con certeza" en lugar de cualquier aspecto ético.
David Spillett

1
Las personas que fueron utilizadas como el remitente falso de las ejecuciones de spam, no estarán muy contentas con esta "característica" cuando reciban mucha retrodispersión . (Aparte del mensaje de rebote ocasional de ejecuciones que usan un mensaje diferente From, Reply-too Return-Pathpara cada mensaje, he recibido miles de mensajes de rebote en dos ocasiones. Se filtra fácilmente, aún no es muy agradable.)
Arjan

7

Realmente no hay ninguna buena manera de hacerlo. Hay un comando 'VRFY' en el protocolo SMTP, pero no conozco a nadie que lo deje funcionar, es demasiado útil para los spammers. La mayoría de los hosts simplemente rechazarán el comando.

Lo mejor que puede hacer en este momento es enviar el correo electrónico y registrar qué rebotes (teniendo en cuenta que algunos servidores de correo simplemente bloquearán el correo no entregado en lugar de hacerlo).

No sé cuál es su negocio o propósito con esta lista, pero debe saber que si envía correo electrónico a 2000 personas a la vez, es probable que algunos servidores de correo lo marquen como spammer.


1
Probablemente más como limpiar una lista de contactos. Los correos rebotan de todos modos.
Daniel Beck

Intentando limpiar los contactos; Necesito diseñar una nueva base de datos de contactos. Tenemos muchos clientes de diferentes compañías, no estoy seguro si tengo que clasificarlos en una base de datos o crear una base de datos diferente para diferentes compañías. Cúal seria la mejor manera?
tintincutes

Si lo entiendo correctamente, vrfy ¿necesitaría un nombre de usuario , no una dirección de correo electrónico? Si es cierto, entonces supongo que se desactiva principalmente por razones de seguridad, no para combatir a los spammers. En Gmail, tanto vrfy existinguser, vrfy existinguser@gmail.com, vrfy someunknownusery vrfy someunknownuser@gmail.comtodo el rendimiento 252 2.1.5 Send some mail, I'll try my best, mientras que en el mismo Gmail rcpt to: no revelan si una dirección de correo electrónico es válida.
Arjan

Con vrfy, se conecta a un servidor de correo, luego vrfy nombre de usuario (la parte antes de la @ en la dirección de correo electrónico). Si está funcionando, le dirá sí o no si el usuario es real. Si no está funcionando (muchos no lo están), entonces dirá 'prohibido' o 'No tengo idea'. Tenga en cuenta que la respuesta 'No tengo idea' es perfectamente legítima para un host de reenvío de correo que no tiene acceso a la lista de cuentas subyacente. Entonces, incluso cuando se trabaja, vrfy puede no ser tan útil.
Michael Kohne

2

No es posible determinar con precisión si una dirección es real o no; cualquier producto que afirme que puede exagerar sus habilidades, por lo que debe considerar cualquier otra afirmación hecha con un ojo cínico.

Existen bibliotecas F / OSS que hacen tanto como es posible: supongo que la mayoría del software en el mercado es simplemente un envoltorio sofisticado para aquellos, por lo que tal vez podría crear fácilmente uno propio que sea igual de bueno / malo Si tienes alguna experiencia de codificación. Pero recuerde que no importa cuán buena sea la rutina de validación, será muy propenso a dar resultados tanto falsos positivos como falsos negativos.

http://freshmeat.net/projects/emailaddressvalidationcomponent, por ejemplo, aparece en una búsqueda rápida de carne fresca y, suponiendo que la descripción sea correcta, hace todo lo posible para intentar verificar una dirección.


@DanieL: Ok, gracias por esto. ¿Que tal este? ¿Es esto válido también: techie-buzz.com/how-to/…
tintincutes

@tintincute: parece bastante válido, mi fuente de Lifehacker usa el mismo video ...
studiohack

2

Puede hacer ping a la dirección de correo electrónico.

De Lifehacker.com:

http://lifehacker.com/5697360/how-to-verify-if-an-email-address-is-real-or-fake

Cuando envía un correo electrónico a alguien, el mensaje va a un servidor SMTP que luego busca los registros MX (Intercambio de correo) del dominio del destinatario del correo electrónico.

Haga clic en el enlace para obtener instrucciones paso a paso sobre cómo hacer ping a una dirección de correo electrónico.


1

Dentro del contexto de una empresa, esto podría hacerse automatizando las búsquedas en el directorio activo.


1

¿Qué tal escribir un script Perl para automatizar este trabajo? Mira esto: http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm


En realidad, esto utiliza comandos SMTP para conectarse a un servidor SMTP, y si realiza demasiadas solicitudes demasiado pronto, podría ser etiquetado como spammer y bloqueado. Por lo tanto, no es bueno para revisar miles de correos electrónicos.
Bulrush

1

Puedes probar: http://verify-emails.com/

Todavía es un servicio de prueba y compra, pero puede manejar listas, así como correos electrónicos individuales y puede incorporarse en los formularios de registro.


Ese dominio es para ventas. El sitio está muerto.
Bulrush

1

También necesitaba una forma de verificar la existencia de direcciones de correo electrónico, así que terminé escribiendo mi propia pequeña utilidad. (Pitón)

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

Es 100% preciso cuando el proveedor es honesto con usted.
(Gmail es bastante honesto, pero Yahoo NO lo es, ya que dice sí a todos los correos electrónicos)

Es mejor que nada, ya que redujo los spam en más del 50% para mí.


0

Es posible verificar si existe una dirección de correo electrónico utilizando este enlace: http://verify-email.org/ . Hace ping a la dirección de correo electrónico y responde Oksi el correo electrónico existe, y Badsi el correo electrónico es falso o no existe. Un enlace más útil para este problema: http://www.shoutmeloud.com/how-to-verify-if-email-address-exist-or-not.html


1er enlace: parece que verificar direcciones individuales es gratis, pero verificar 2000, como se hizo en la pregunta, requiere software pago. Esa es la situación para la cual la pregunta busca una alternativa, por lo que esta no es realmente una solución a la pregunta. El segundo enlace también trata con cheques individuales. Super User no es un foro, donde es típico dejar algo que generalmente se relaciona con el tema. Su propósito es construir una base de conocimiento, y cada respuesta debe proporcionar una solución a lo que se le preguntó. Respuestas que no tienden a atraer votos negativos.
Fixer1234
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.