本文将帮助 C# 开发人员以编程方式将 EML 或 MSG 转换为其他流行的文件格式。Aspose.Email for .NET 提供类和方法以及 在线 电子邮件转换器工具,可将 EML 无缝转换为 PNG。如果不安装第三方软件,则无法打开 EML/MSG 文件。因此,将 EML/MSG 转换为 PNG 和 JPG 等图像文件格式将允许您轻松查看这些文件。因此,在本指南中,我们将通过代码片段在 C# 中构建电子邮件转换软件。在继续之前,请确保您拥有源 EML 和 MSG 文件来实现该功能。
本博文将讨论以下几点:
电子邮件 API 集成和安装
要安装这个企业级 .NET 库,请在 NuGet 包管理器中运行以下命令或从 此处 下载 DLL 文件。
Install-Package Aspose.Email
除了 Aspose.Email for .NET,您还需要安装 Aspose.Words for .NET API。
Install-Package Aspose.Words
Aspose.Email for .NET 为开发人员提供了完整的 安装 指南。此外,安装只需几秒钟,您就可以开始使用 API 将 EML 转换为 PNG 或将 MSG 转换为 PNG。
使用 C# 进行 EML 到 PNG 的转换
现在,我们可以编写代码示例,以编程方式用 C# 构建电子邮件转换工具。
以下步骤显示如何构建电子邮件转换软件以将 EML 转换为 PNG:
- 创建 EmlLoadOptions 类的对象,用于从 EML 格式加载 MailMessage。
- 设置 RemoveSignature 属性的值,表示在加载时是否删除签名。
- 调用 MailMessage 类的 Load 方法来加载源 EML 文件。
- 设置消息的敏感度。
- 设置消息的优先级。
- 实例化MemoryStream类的实例。
- 通过调用 Save 方法将 EML 转换为 MHTML 并保存到流中。
- 调用 Position 属性并设置流中的当前位置。
- 使用 MHTML 流初始化 Document 类的实例。
- 通过调用 Save 方法将文档保存为 PNG 图像。
以下代码片段在 C# 中将 EML 转换为 PNG。
using Aspose.Email;
using Aspose.Words;
namespace Aspose.Email
{
class EMLtoPNG
{
// 面向 C# 开发人员的电子邮件转换软件 - EML 到 PNG
static void Main(string[] args)
{
string dataDir = "/sample-files/";
// 创建一个 EmlLoadOptions 类的对象,用于从 EML 格式加载 MailMessage。
EmlLoadOptions emlLoadOptions = new EmlLoadOptions();
// 设置 RemoveSignature 属性的值来指示是否在加载时删除签名。
emlLoadOptions.RemoveSignature = false;
// 调用 MailMessage 类的 Load 方法来加载源 eml 文件。
MailMessage msg = MailMessage.Load(dataDir + "sample.eml", emlLoadOptions);
// 设置消息的敏感度。
msg.Sensitivity = MailSensitivity.Normal;
// 设置消息的优先级。
msg.Priority = MailPriority.High;
// 实例化 MemoryStream 类的实例。
MemoryStream msgStream = new MemoryStream();
// 通过调用 Save 方法将 EML 转换为 MHTML 并保存到流中。
msg.Save(msgStream, SaveOptions.DefaultMhtml);
// 调用 Position 属性并设置流内的当前位置。
msgStream.Position = 0;
// 使用 MHTML 流初始化 Document 类的实例。
Document msgDocument = new Document(msgStream);
// 通过调用Save方法将文档保存为PNG图像。
msgDocument.Save(dataDir + "Outlook-Aspose_out.png", SaveFormat.Png);
}
}
}
您可以在下图中看到输出:
通过编程将 MSG 转换为 PNG
类似地,您可以通过在上面的代码片段中进行以下更改将 MSG 转换为 PNG:
- 创建 MsgLoadOptions 类的对象并将其作为参数传递给 MailMessage 类的 Load 方法,以加载源 MSG 文件。
以下代码示例演示了如何在 .NET 中将 MSG 转换为 PNG:
using Aspose.Email;
using Aspose.Words;
namespace Aspose.Email
{
class MSGtoPNG
{
// 面向 C# 开发人员的电子邮件转换软件 - MSG 到 PNG
static void Main(string[] args)
{
string dataDir = "/sample-files/";
// 创建一个 MsgLoadOptions 类的对象,用于从 MSG 格式加载 MailMessage。
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
// 设置 RemoveSignature 属性的值来指示是否在加载时删除签名。
msgLoadOptions.RemoveSignature = false;
// 调用MailMessage类的Load方法来加载源MSG文件。
MailMessage msg = MailMessage.Load(dataDir + "sample.msg", msgLoadOptions);
// 设置消息的敏感度。
msg.Sensitivity = MailSensitivity.Normal;
// 设置消息的优先级。
msg.Priority = MailPriority.High;
// 实例化 MemoryStream 类的实例。
MemoryStream msgStream = new MemoryStream();
// 通过调用 Save 方法将 MSG 转换为 MHTML 并保存到流中。
msg.Save(msgStream, SaveOptions.DefaultMhtml);
// 调用 Position 属性并设置流中的当前位置。
msgStream.Position = 0;
// 使用 MHTML 流初始化 Document 类的实例。
Document msgDocument = new Document(msgStream);
// 通过调用Save方法将文档保存为PNG图像。
msgDocument.Save(dataDir + "Outlook-Aspose_out.png", SaveFormat.Png);
}
}
}
免费电子邮件转换器 - 现场演示
我们已经了解了如何为 C# 开发人员开发电子邮件转换软件。这里有一个 在线 工具,可以在线将 EML 转换为 PNG。它由 Aspose.Email 提供支持。此外,此电子邮件转换器工具是基于 Web 的,并带有用户友好的界面,您也可以在手机上使用此电子邮件转换器。最重要的是,它是免费的,您在使用它之前无需进行任何订阅。
电子邮件转换软件 - 获取免费许可证
您可以获得免费的临时许可证来尝试Aspose.Email for .NET,突破评估限制。
结论
我们在此结束这篇博文,希望您觉得这篇文章有用。我们已经介绍了如何使用 Aspose.Email for .NET 在 C# 中构建电子邮件转换软件。此外,我们还探索了一种在线电子邮件转换工具,用于在线将 EML 转换为 PNG。此外,您可以浏览 文档 和 API 参考资料来查看完整的功能堆栈。
此外,我们建议您访问入门指南。
最后,aspose.com 正在撰写新的博客文章。因此,请保持联系以获取定期更新。
可获得帮助
我们的支持团队非常活跃且乐于助人。您可以在我们的论坛上告诉我们您的问题或疑问。
常见问题 – 常见问题解答
如何将 EML 文件转换为图像?
您可以使用 Aspose.Email 将 EML 转换为 PNG。此库支持多种编程语言。请访问此 链接 了解更多详细信息和代码片段。
如何转换 MSG 文件?
尝试使用我们的在线免费电子邮件转换器将 EML/MSG 转换为其他流行文件格式。如需编程解决方案,请访问此链接。