在当今时代,电子邮件是互联网上最常见的通信方式之一。作为软件开发人员,您会看到各种各样的用户需求和使用场景。其中一项要求可能是您希望将电子邮件内容嵌入网页中。对于这种情况,您需要将电子邮件转换为 HTML 格式。在本文中,您将学习如何使用 C++ 以编程方式将 MSG 和 EML 电子邮件转换为 HTML 或 MHTML 格式。
- 用于将电子邮件转换为 HTML 的 C++ API
- 使用 C++ 将电子邮件转换为 HTML
- 使用 C++ 将电子邮件转换为 MHTML
- 将电子邮件导出为带有标题的 HTML
- 使用自定义时区将电子邮件转换为 HTML
- 获得免费许可证
用于将电子邮件转换为 HTML 的 C++ API
Aspose.Email for C++ 是一个本地 C++ 库,用于创建、操作和发送电子邮件,无需安装 Microsoft Outlook。该 API 还提供将电子邮件转换为不同格式(包括 HTML)的能力。您可以通过 NuGet 安装 API,也可以直接从 Downloads 部分下载。
PM> Install-Package Aspose.Email.Cpp
使用 C++ 将电子邮件转换为 HTML
使用 Aspose.Email for C++ API 将电子邮件文件转换为 HTML 轻而易举。只需两行代码,您就可以将电子邮件文件转换为 HTML 格式。以下是使用 C++ 将电子邮件文件转换为 HTML 格式的步骤。
- 使用 MailMessage 类加载电子邮件文件。
- 使用 MailMessage->Save (System::String fileName, System::SharedPtr) 将文件保存为 HTML选项) 方法。
以下是将电子邮件文件转换为 HTML 格式的示例代码。
// 加载电子邮件文件
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");
// 将电子邮件转换为 HTML
msg->Save(u"OutputDirectory\\EmailToHtml.html", Aspose::Email::SaveOptions::get_DefaultHtml());
使用 C++ 将电子邮件转换为 MHTML
与将电子邮件转换为 HTML 类似,您可以通过将 Aspose::Email::SaveOptions::getDefaultMhtml() 作为 MailMessage->Save (System: :String 文件名, System::SharedPtr选项) 方法。以下是将电子邮件文件转换为 MHTML 格式的步骤。
- 使用 MailMessage 类加载电子邮件文件。
- 使用 MailMessage->Save (System::String fileName, System::SharedPtr) 将文件保存为 MHTML选项) 方法。
以下是将电子邮件文件转换为 MHTML 格式的示例代码。
// 加载电子邮件文件
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.eml");
// 将电子邮件转换为 MHTML
msg->Save(u"OutputDirectory\\EmailToMhtml.mhtml", Aspose::Email::SaveOptions::get_DefaultMhtml());
将电子邮件导出为带有标题的 HTML
默认情况下,生成的 HTML 不包含电子邮件标头信息。要导出表头信息,可以使用 HtmlSaveOptions 类。以下是将电子邮件文件转换为 HTML 格式的步骤,并在生成的 HTML 中包含标题信息。
- 使用 MailMessage 类加载电子邮件文件。
- 创建 HtmlSaveOptions 类的实例。
- 使用 SaveOption->setHtmlFormatOptions (Aspose::Email::HtmlFormatOptions value) 方法设置格式选项以显示标题信息。
- 最后,使用 MailMessage->Save (System::String fileName, System::SharedPtr选项) 方法。
以下是将电子邮件转换为带有标题信息的 HTML 的示例代码。
// 加载电子邮件文件
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");
// 实例化 HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();
// 表示应该写入头信息。
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);
// 将电子邮件转换为 HTML
msg->Save(u"OutputDirectory\\EmailToHTWithHeader.html", saveOptions);
使用自定义时区的电子邮件到 HTML 转换
Aspose.Email for C++ 让您能够通过指定自定义时区来转换电子邮件。生成的 HTML 文件将显示所选时区的时间。以下是将电子邮件文件转换为具有自定义时区的 HTML 格式的步骤。
- 使用 MailMessage 类加载电子邮件文件。
- 使用 MailMessage->setTimeZoneOffset(System::TimeSpan value) 方法设置自定义时区。
- 创建 HtmlSaveOptions 类的实例。
- 使用 SaveOption->setHtmlFormatOptions (Aspose::Email::HtmlFormatOptions value) 方法设置格式选项以显示标题信息。
- 最后,使用 MailMessage->Save (System::String fileName, System::SharedPtr选项) 方法。
以下是使用 C++ 将电子邮件文件转换为具有自定义时区的 HTML 格式的示例代码。
// 加载电子邮件文件
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");
// 设置消息日期的本地时间。
msg->set_TimeZoneOffset(System::TimeZone::get_CurrentTimeZone()->GetUtcOffset(System::DateTime::get_Now()));
// 实例化 HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();
// 表示应该写入头信息。
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);
// 将电子邮件转换为 HTML
msg->Save(u"OutputDirectory\\EmailToHTMLWithCustomTimezone.html", saveOptions);
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
现场演示
结论
在本文中,您学习了如何使用 C++ 将 MSG 和 EML 文件转换为 HTML 和 MHTML 格式。您还看到了如何在生成的 HTML 输出中包含标题信息。此外,您还学习了如何自定义电子邮件的时区。 Aspose.Email for C++ 提供了更多处理电子邮件文件的功能。您可以通过访问 官方文档 来详细探索 API。如果您有任何问题,请随时通过我们的 免费支持论坛 联系我们。