我将电子邮件存储在目录中,如下所示。我如何以编程方式,稍后发送这些内容,说event
某种
smtpClient.PickupDirectoryLocation = "C:\\EmailHoldingBin\\";
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory;
答案 0 :(得分:4)
使用PickupDirectoryLocation
存储的文件以原始SMTP(MIME / EML)格式编写,并且由本地SMTP服务器(通常是IIS)处理。虽然SmtpClient
和MailMessage
对象可以有效地“写”为原始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),而不是之前。