Question

Ce que j'essaie de faire est de transmettre le contenu brut d'un courrier électronique sortant à spamassassin afin de calculer un score de spam. Je suis coincé dans la façon dont je pourrais obtenir le contenu brut du courrier électronique.

Mon code C # construit actuellement le MailMessage et le transmet à la méthode Send () de SmtpClient. Avant d’envoyer, y a-t-il un moyen d’obtenir une version brute du message (comme le protocole l’indique) afin que je puisse la transmettre à l’outil spamassassin pour l’évaluation du spam?

Si je ne vous ai pas très bien expliqué, faites-le moi savoir et j'essaierai de mieux l'expliquer.

Merci d'avance,

Martin.

Était-ce utile?

La solution

J'ai trouvé une solution à mon problème.

La classe SmtpClient a deux propriétés qui peuvent être définies pour que l'email soit stocké dans un fichier EML plutôt que réellement envoyé. Le but initial de cette opération est que le courrier électronique puisse être généré avec SmtpClient mais effectivement récupéré et envoyé par un autre serveur SMTP.

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

Si SmtpClient.DeliveryMethod est défini sur SmtpDeliveryMethod.SpecifiedPickupDirectory et que SmtpClient.PickupDirectoryLocation est défini sur le chemin complet d'un répertoire sur la machine, appelez SmtpClient.Send (mailMessage); provoque sa sauvegarde.

À son tour, le fichier EML nouvellement créé peut être transmis à spamassassin directement sur la ligne de commande afin d'obtenir le score de spam dont j'avais besoin.

J'espère que cette information aidera tout le monde à résoudre ce problème.

Cordialement,

Martin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top