[Python-es] ¿existen realmente estas casillas de correos todavia?

45 views
Skip to first unread message

Gonzalo V

unread,
Sep 24, 2015, 12:32:52 PM9/24/15
to La lista de python en castellano
Hola a todos
Tengo una duda.
resulta que en una cuenta de outlook antigua tengo como 2000 emails que se han juntado durante la vida, algunos pueden estar viegentes y otros no
¿Es posible que python "consulte" si estos correos estan vivos o no haciendo una suerte de ping en los servidores de los correos?
si es posible, por dónde debo empezar?

muchas gracias


Saludos,
Gonzalo

Luis Michael Ibarra

unread,
Sep 24, 2015, 2:16:23 PM9/24/15
to La lista de python en castellano

Hola,

Puedes utilizar smtplib y enviar un correo a cada destinatario para espera el error de conexión o éxito para saber si el server smtp  o la cuenta existen.

Hay que tener en cuenta que tienes que tener configurado los registros dns adecuados para que no te pongan en lista negra o usar otro servidor que acepte que puedas usarlo como relay.

Saludos

_______________________________________________
Python-es mailing list
Pyth...@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

asomar...@hotmail.com

unread,
Sep 24, 2015, 2:57:31 PM9/24/15
to pyth...@python.org

Por que no simplemente les envías un correo y lo que te retornen como no entregables los eliminas y listo.

Enviado por Outlook para Android

Chema Cortes

unread,
Sep 24, 2015, 3:40:48 PM9/24/15
to La lista de python en castellano
Que el servidor de correo responda a un ping no asegura que el usuario de ese correo todavía exista. Pero lo normal es que los servidores de correo no respondan en ningún otro puerto que no sea los de servicio de correo. Además, es muy posible que tengas que hacer una consulta previa al servidor DNS para saber cuál es el servidor de correo real que usa el dominio antes de probar.

Lo aconsejable es usar tu servidor de correo para enviar un correo a cada dirección añadiendo y activar el acuse de recibo (DSN). Suele ser una deferencia del servidor devolver un mensaje notificando si ha podido entregar el correo a su destinatario. Puedes usar el módulo 'smtplib' para enviar correos, poplib/imaplib para leer las respuestas y el módulo 'email.parser' para parsear los acuses de recibos y saber si ha llegado o no a su destino.



 

muchas gracias


Saludos,
Gonzalo

_______________________________________________
Python-es mailing list
Pyth...@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/




--
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog
Buscador Python Hispano: http://ch3m4.org/python-es

Emiliano Vazquez

unread,
Sep 25, 2015, 9:28:15 AM9/25/15
to pyth...@python.org
El 24/09/15 a las 16:40, Chema Cortes escribió:
Lo aconsejable es usar tu servidor de correo para enviar un correo a cada dirección añadiendo y activar el acuse de recibo (DSN). Suele ser una deferencia del servidor devolver un mensaje notificando si ha podido entregar el correo a su destinatario. Puedes usar el módulo 'smtplib' para enviar correos, poplib/imaplib para leer las respuestas y el módulo 'email.parser' para parsear los acuses de recibos y saber si ha llegado o no a su destino.
Hace unos días me consultaron lo mismo y para mí no se podía, pero leyendo la consulta y las respuestas me doy cuenta que si.

Creo que algo bueno sería hacer la consulta directamente al servidor de mail, algo como:

quiero probar la cuenta pe...@dominio.com

1. Existe realmente el mail-server ?

dig mx dominio.com

Si existe me tiene que devolver a donde esta el mail-server, generalmente mail.dominio.com

2. Con el dominio en funcionamiento y el mail-server existente, resta probar si existe la cuenta, para hacerlo, sería algo como:


telnet mail.dominio.com 25
mail from: emil...@prueba.com
rcpt to: pe...@dominio.com

Si la cuenta no existe, la respuesta sería algo como esto:
550 5.1.1 <mailbox.doe...@webdigiapps.com>: Recipient address rejected: User unknown in virtual alias table

En cambio, si la cuenta existe vas a poder seguir envíando el mail, ahí seria bueno cancelar el envío.

Esto que escribí es desde la consola de linux, hay que ver como se puede llevar a Python, me gusta la idea de hacerlo y el desafío de que sea con Python.

Saludos!

Emiliano

Gonzalo V

unread,
Sep 25, 2015, 9:34:26 AM9/25/15
to La lista de python en castellano
Gracias a todos!. Ya tengo un poco de claridad!

Saludos,
Gonzalo

Reply all
Reply to author
Forward
0 new messages