当前位置:  开发笔记 > 编程语言 > 正文

System.Net.Mail.MailMessage原始内容/垃圾邮件刺客

如何解决《System.Net.Mail.MailMessage原始内容/垃圾邮件刺客》经验,为你挑选了1个好方法。

我要做的是将传出电子邮件的原始内容传递给spamassassin以计算垃圾邮件分数.我被困在如何获得电子邮件的原始内容.

我的C#代码目前只构造MailMessage并将其传递给SmtpClient的Send()方法.在发送之前,有没有办法获得邮件消息的原始版本(协议可能会看到它),以便我可以将其传递给spamassassin工具进行垃圾邮件评估?

如果我没有很好地解释,请告诉我,我会尝试更好地解释.

提前致谢,

马丁.



1> Martin..:

我找到了解决问题的方法.

SmtpClient类有两个属性可以设置,这些属性会导致电子邮件存储到EML文件而不是实际发送.最初的目的是使电子邮件可以使用SmtpClient生成,但实际上是由另一个SMTP服务器拾取和发送的.

SmtpClient.DeliveryMethod
SmtpClient.PickupDirectoryLocation

如果将SmtpClient.DeliveryMethod设置为SmtpDeliveryMethod.SpecifiedPickupDirectory并将SmtpClient.PickupDirectoryLocation设置为计算机上某个目录的完整路径,则调用SmtpClient.Send(mailMessage); 导致它被保存.

反过来,新创建的EML文件可以直接在命令行上传递给spamassassin,以获得我需要的垃圾邮件分数.

希望此信息可以帮助其他人解决此问题.

亲切的问候,

马丁.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有