将 .NET MailMessage 对象导出到 .eml 或 .msg 文件
.NET MailMessage 类缺少直接将电子邮件数据保存到磁盘的内置函数。 但是,我们可以使用替代方法来实现这一点。
利用 SmtpClient 和指定的取件目录
SmtpClient
类提供了一个解决方案:将电子邮件消息定向到本地目录而不是远程服务器。这是通过如下配置 SmtpClient
来完成的:
<code class="language-csharp">SmtpClient client = new SmtpClient("mysmtphost"); // Or use an empty constructor for local saving client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message);</code>
或者,可以在应用程序的配置文件中定义此设置:
<code class="language-xml"><configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory"/> </smtp> </mailSettings> </system.net> </configuration></code>
执行Send
命令后,生成的电子邮件文件将驻留在指定目录中。
重要提示:对于本地文件创建,SmtpClient
的空构造函数可以简化过程,因为不需要网络传输。
以上是如何将 .NET MailMessage 对象另存为 .eml 或 .msg 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!