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

C# System.Net.Mail.MailMessage原始内容/垃圾邮件刺客,c#,.net,email,email-spam,C#,.net,Email,Email Spam,我想做的是将发送电子邮件的原始内容传递给spamassassin,以计算垃圾邮件分数。我陷入了如何获取电子邮件原始内容的困境 我的C#代码目前只是构造MailMessage并将其传递给SmtpClient的Send()方法。在发送之前,是否有方法获取邮件消息的原始版本(协议可能会看到),以便我可以将其传递给spamassassin工具进行垃圾邮件评估 如果我解释得不好,请告诉我,我会尽量解释得更好 提前感谢, 马丁。我已经想出了解决问题的办法 SmtpClient类有两个可以设置的属性,它们使电

我想做的是将发送电子邮件的原始内容传递给spamassassin,以计算垃圾邮件分数。我陷入了如何获取电子邮件原始内容的困境

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

如果我解释得不好,请告诉我,我会尽量解释得更好

提前感谢,


马丁。

我已经想出了解决问题的办法

SmtpClient类有两个可以设置的属性,它们使电子邮件存储到EML文件中,而不是实际发送。这样做的最初目的是,可以使用SmtpClient生成电子邮件,但实际上可以由另一个SMTP服务器接收和发送

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

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

希望此信息能帮助其他人解决此问题

亲切问候,


马丁。

太棒了,这正是我要找的。你如何将.EML文件传递给spamassassin?你提到命令行,你能发布那个命令吗?