Pregunta

Lo que intento hacer es pasar el contenido sin formato de un correo electrónico saliente a spamassassin para calcular una puntuación de spam. Estoy atascado en cómo podría obtener el contenido sin formato del correo electrónico.

Mi código C # actualmente solo construye el MailMessage y lo pasa al método Send () de SmtpClient. Antes de enviar, ¿hay alguna forma de obtener una versión sin procesar del mensaje de correo (como el protocolo podría verlo) para que pueda pasar esto a la herramienta spamassassin para la evaluación de spam?

Si no lo he explicado muy bien, avíseme y trataré de explicarlo mejor.

Gracias de antemano,

Martin.

¿Fue útil?

Solución

He encontrado una solución a mi problema.

La clase SmtpClient tiene dos propiedades que se pueden configurar, lo que hace que el correo electrónico se almacene en un archivo EML en lugar de enviarse realmente. El propósito original de esto es para que el correo electrónico pueda generarse con SmtpClient pero en realidad sea recogido y enviado por otro servidor SMTP.

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

Si SmtpClient.DeliveryMethod se establece en SmtpDeliveryMethod.SpecifiedPickupDirectory y SmtpClient.PickupDirectoryLocation se establece en la ruta completa de algún directorio en la máquina, luego se llama a SmtpClient.Send (mailMessage); hace que se guarde.

A su vez, el archivo EML recién creado se puede pasar a spamassassin directamente en la línea de comando para obtener la puntuación de spam que necesitaba.

Espero que esta información ayude a alguien más con este problema.

Saludos cordiales,

Martin.

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