如何发送存储在`SpecifiedPickupDirectory`中的`MailMessage`

时间:2011-07-26 18:06:38

标签: c# .net email mailmessage

我将电子邮件存储在目录中,如下所示。我如何以编程方式,稍后发送这些内容,说event某种

smtpClient.PickupDirectoryLocation = "C:\\EmailHoldingBin\\";

smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;

3 个答案:

答案 0 :(得分:4)

使用PickupDirectoryLocation存储的文件以原始SMTP(MIME / EML)格式编写,并且由本地SMTP服务器(通常是IIS)处理。虽然SmtpClientMailMessage对象可以有效地“写”为原始SMTP / MIME,但它们没有用于读取此类文件的规定。如果您必须阅读这些文件,则需要编写自己的解析器或使用one already created such as this one

答案 1 :(得分:1)

我同意gangelo的回答

另一点:
只有当某些服务(如IIS)获取存储在那里的邮件并发送它们时,分拣目录才有效 - 所以你需要配置IIS才能使其工作......

编辑 - 根据评论交换提货文件夹:

例如使用Exchange 2007 http://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/exchange-pickup-folder.html

和Exhange 2010 http://technet.microsoft.com/en-us/library/bb124230.aspx

答案 2 :(得分:0)

您需要在设置System.Net.Mail.MailMessage的From,To,Subject和Body属性之前调用smtpClient.Send(System.Net.Mail.MailMessage),而不是之前。