首页 >后端开发 >C++ >如何将 .NET MailMessage 对象另存为 .eml 或 .msg 文件?

如何将 .NET MailMessage 对象另存为 .eml 或 .msg 文件?

Linda Hamilton
Linda Hamilton原创
2025-01-08 10:17:41865浏览

How Can I Save .NET MailMessage Objects as .eml or .msg Files?

将 .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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn