Recibir correos rechazados

09/05/2007 - 21:41 por Cristian Rivas | Informe spam
Tengo una aplicación que envia correos electrónicos algunos de ellos se
envian a cuentas que ya no existen; yo quiero recibir esos correos en mi
aplicación y que se almacene su registro en la base de datos,
no se si soy claro con mi proposito, pero esto es lo que debos solucionar:
Si hay correos que rebotan, porque sus cuentas estan llenas o ya la cuenta
no existe, este debe ser registrado en la base de datos para solicitar
actualizar la cuenta de correo al usuario propietario.

Ese es el requerimiento, si alguien me puede ayudar le agradezco mucho,
gracias!

Preguntas similare

Leer las respuestas

#6 Cristian Rivas
11/05/2007 - 15:51 | Informe spam
Ok, ya voy captando la idea, en alguna ocación yo estudiaba un codigo ajeno a
mi, perteneciente a uno de mis colegas y vi una forma de envio de correo en
donde el evaluaba el correo y tomaba la parte que esta despues de la @ y esta
la asignaba como SMTP, quizas esta es una buena practica seria el metodo que
ustedes comentan? supongo yo porque el smtp era el servidor al que pertenecia
el correo que en ese momento se enviaba.

Pero ahora entonces yo objeto algo y es que es crucial tener registro de
cuales correos han sido rechazados (en pro del requerimiento solicitado). De
igaul forma agradezco toda su colaboración.

"Hadi Hariri" wrote:

Lo que hace este método es contactar directamente con el servidor SMTP
destinatario del correo para enviarlo. tu cuando envias un correo de la
forma "normal", va a tu servidor SMTP y tu servidor SMTP lo envia al
SMTP final. Aqui te evitas el SMTP intermediario.


Hadi Hariri
http://www.hadihariri.com
http://www.malagadnug.org - Eventos, recursos, artículos y más

Respuesta Responder a este mensaje
#7 Hernan
11/05/2007 - 16:06 | Informe spam
On 11 mayo, 15:51, Cristian Rivas
wrote:
Ok, ya voy captando la idea, en alguna ocación yo estudiaba un codigo ajeno a
mi, perteneciente a uno de mis colegas y vi una forma de envio de correo en
donde el evaluaba el correo y tomaba la parte que esta despues de la @ y esta
la asignaba como SMTP, quizas esta es una buena practica seria el metodo que
ustedes comentan? supongo yo porque el smtp era el servidor al que pertenecia
el correo que en ese momento se enviaba.



No. El servidor al que tienes que conectarte es lo que te indica el
registro
MX del DNS del dominio que aparece a la derecha del arroba. En
realidad
pueden ser varios servidores que están ordenados según una prioridad.
Pero entiendo que hay bibliotecas de clases que ya hacen esto.

Pero ahora entonces yo objeto algo y es que es crucial tener registro de
cuales correos han sido rechazados (en pro del requerimiento solicitado). De
igaul forma agradezco toda su colaboración.



El sistema propuesto te da error apenas te conectas, por lo que ahí
mismo
puedes registrar el estado según te apetezca.

Pero como ya he dicho antes, hay algunos errores que no los puedes
detectar en el momento del envío. Si quieres atrapar todos los rebotes
entonces
tendrás que usar alguna biblioteca de clases que te permita leer
mensajes
recibidos, extraer los de error y usando el messageid localizar el
mensaje
original que generó el error.



"Hadi Hariri" wrote:
> Lo que hace este método es contactar directamente con el servidor SMTP
> destinatario del correo para enviarlo. tu cuando envias un correo de la
> forma "normal", va a tu servidor SMTP y tu servidor SMTP lo envia al
> SMTP final. Aqui te evitas el SMTP intermediario.

> Hadi Hariri
>http://www.hadihariri.com
>http://www.malagadnug.org- Eventos, recursos, artículos y más
Respuesta Responder a este mensaje
#8 chanchitodata
12/05/2007 - 19:47 | Informe spam
Cristian,

Creo que se esta enredando esta discusion. He hecho una solucion
parecida a lo que estas haciendo.

No existe ninguna forma segura de verificar "antes" de enviar un email
que el correo existe o no.
Lo mas simple que puedes hacer en tu caso es:

Crear una casilla de "rebote"(tipo )
Crear una casilla de "envio"()

A cada email que sale le agregas el email de "envio" como BCC
Configuas tu servidor de correo para que todos los emails "malo"
reboten a la casilla de "rebote"

Tu software debe vigilar las casillas de "rebote" y de "envio"
La de "envio" para asegurarte que el email realmente "salio" de tu
servidor, puede tener problema tu servidor y ese email nunca rebotara
La de "rebote" para analizar el error de rebote. El email de rebote
puede tener un codigo de error en uno de los headers, digo puede por
que no todos los servidores setean esta informacion. Si no existe el
codigo de error(es un codigo tipo 5.2.2("casillla llena")) puedes
parsear el mismo texto del email para encontrar el codigo o una
respuesta estandar tipo "Quota Exceded", "Server Failures" etc. Ojo
que el email de rebote normalmente tiene varias partes y el texto de
error orginal puede venir en una de las partes.

Yo utilize algo que se llama CDO para vigilar las casillas, (http://
msdn2.microsoft.com/en-us/library/ms527445.aspx), una libreria que
viene al instalar el sistema.operativo.

Ojala que esto te ayude

/chanchitodata
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida