我有一个用于自动化电子邮件系统的服务,它还将.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);
}