小编典典

如何将MailMessage对象作为* .eml或* .msg文件保存到磁盘

c#

如何将MailMessage对象保存到磁盘?MailMessage对象不公开任何Save()方法。

如果它以任何格式保存,。eml或 .msg,我都没有问题。任何想法如何做到这一点?


阅读 361

收藏
2020-05-19

共1个答案

小编典典

为了简单起见,我只引用Connect项目的说明:

您实际上可以配置SmtpClient以将电子邮件发送到文件系统而不是网络。您可以使用以下代码以编程方式执行此操作:

SmtpClient client = new SmtpClient("mysmtphost");
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
client.PickupDirectoryLocation = @"C:\somedirectory";
client.Send(message);

您还可以像这样在应用程序配置文件中进行设置:

 <configuration>
     <system.net>
         <mailSettings>
             <smtp deliveryMethod="SpecifiedPickupDirectory">
                 <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" />
             </smtp>
         </mailSettings>
     </system.net>
 </configuration>

发送电子邮件后,您应该会看到电子邮件文件已添加到您指定的目录中。然后,您可以让一个单独的过程以批处理方式发送电子邮件。

您应该能够使用空的构造函数,而不要使用列出的构造函数,因为它无论如何都不会发送它。

2020-05-19