如何将MailMessage对象保存到磁盘?MailMessage对象不公开任何Save()方法。
如果它以任何格式保存,。eml或 .msg,我都没有问题。任何想法如何做到这一点?
为了简单起见,我只引用Connect项目的说明:
您实际上可以配置SmtpClient以将电子邮件发送到文件系统而不是网络。您可以使用以下代码以编程方式执行此操作: SmtpClient client = new SmtpClient("mysmtphost"); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message); 您还可以像这样在应用程序配置文件中进行设置:
您实际上可以配置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>
发送电子邮件后,您应该会看到电子邮件文件已添加到您指定的目录中。然后,您可以让一个单独的过程以批处理方式发送电子邮件。
您应该能够使用空的构造函数,而不要使用列出的构造函数,因为它无论如何都不会发送它。