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



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

使用 Outlook Interop dll 适用于交互式应用程序,但是我们需要使其成为非交互式服务,并且使服务交互式会带来很多安全问题。

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

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

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);
}

最新更新