使用Windows服务将电子邮件另存为.eml

时间:2016-02-12 18:31:08

标签: c# service eml

我有一个用于自动化电子邮件系统的服务,它还将.eml文件的副本保存在本地文件夹中。

使用 Outlook Interop dll 可以很好地用于交互式应用程序,但是我们需要使它成为一种非交互式服务,并使服务交互式呈现大量{{3} }。

tl; dr 有没有办法使用非交互式Windows服务将.eml文件保存在文件夹中?

PS:电子邮件是System.Net.Mail.MailMessage对象。

1 个答案:

答案 0 :(得分:1)

System.Net.Mail.SmtpClient包含以.eml格式将消息写入磁盘的内置功能:

using (var c = new System.Net.Mail.SmtpClient.SmtpClient()
{
    DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
    PickupDirectoryLocation = "c:\\temp"
})
{
    var mail = new MailMessage("someone@example.com", "someonelse@example.com", "Very important", "No, just kidding");
    c.Send(mail);
}