Pregunta

¿Alguien puede recomendar un software o una biblioteca .NET que verifique los correos electrónicos devueltos y el motivo del rebote?Recibo correos electrónicos devueltos en una cuenta pop3 que luego puedo leer.

Lo necesito para mantener mi base de datos de usuarios limpia de direcciones de correo electrónico no válidas y quiero automatizar esto (marcar al usuario como correo electrónico no válido).

¿Fue útil?

Solución

He trabajado mucho en el manejo de correos electrónicos rebotados y existen diferentes tipos.Si desea estar absolutamente seguro de que el correo electrónico que está viendo es realmente un rebote de un tipo específico, le recomiendo encarecidamente que obtenga un buen filtro.he trabajado con Herramientas de baile y ha funcionado muy bien.Te permite saber qué tipo de rebote es: duro, suave, transitorio o incluso si alguien intenta cancelar la suscripción.Tiene varias API, incluido .Net, y me resultó bastante fácil empezar a trabajar.

Otros consejos

como abfo dice, el protocolo POP3 es súper simple, recibir los mensajes es una obviedad.Analizar los mensajes para detectar las fallas es más difícil, y analizar de manera confiable qué correo electrónico causó la falla y por qué es realmente difícil.El problema es que los mensajes devueltos no tienen un formato estándar, los formularios predeterminados varían de un MTA a otro.Luego, el administrador del sitio puede modificar el motivo del error, haciéndolo más difícil de reconocer, y el administrador del sitio podría modificar la plantilla del mensaje de error, lo que lo hace casi imposible.

Vea si puede encontrar un administrador de listas de correo .NET y si puede reutilizar el código de manejo de rebotes.De lo contrario, vea si puede cambiar la herramienta que envía los mensajes para enviar cada correo electrónico desde un remitente de sobre único (y reversible) (¿VERP, creo que se llama?).De esa manera, no necesita escanear el cuerpo del correo electrónico; puede saber qué destinatario falló examinando la dirección del destinatario del mensaje de error.

Es bastante fácil de hacer con un TcpClient.Abra el servidor:

TcpClient tcpClient = new TcpClient();
tcpClient.Connect(POP3Server, POP3Port);
NetworkStream stream = tcpClient.GetStream();

Lea el mensaje de bienvenida:

int read = stream.Read(inBuffer, 0, inBuffer.Length);
string response = Encoding.ASCII.GetString(inBuffer, 0, read);
if (response.IndexOf("+OK") != 0) throw new ...;

Escribe de nuevo al servidor:

byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n");
stream.Write(outBuffer, 0, outBuffer.Length);

Eso envía el comando USUARIO.Debe iniciar sesión y luego podrá comenzar a recibir mensajes; consulte el POP3 RFC para obtener la lista completa de comandos.Si no estás buscando hacer el tuyo propio, mira esto. Artículo de CodeProject.

Gracias por la respuesta, genial!Yo mismo investigué un poco y encontré ListaNiñera - También es muy sencillo de usar y te indica el tipo de rebote.Escribiré alguna prueba de concepto y veré cuál me gusta más...

Su pregunta me hizo darme cuenta de que el complemento Wordpress Newsletter que iba a usar no tenía administración de rebotes y que también necesitaría algo.

Miré a mi alrededor por un tiempo y me decidí por la versión gratuita y de código abierto. Administrador de boletines PHPlist.

Describen en detalle sus configuraciones para manejar rebotes y tienen un experimento función avanzada de manejo de rebotes eso le permitirá personalizar el manejo del rebote exactamente de la manera que desee.

Incluso si decide no utilizar PHPlist, leer cómo lo hacen será información útil para usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top