使用 C++ 将电子邮件转换为 HTML

在当今时代,电子邮件是互联网上最常见的通信方式之一。作为软件开发人员,您会看到各种各样的用户需求和使用场景。其中一项要求可能是您希望将电子邮件内容嵌入网页中。对于这种情况,您需要将电子邮件转换为 HTML 格式。在本文中,您将学习如何使用 C++ 以编程方式将 MSGEML 电子邮件转换为 HTML 或 MHTML 格式。

用于将电子邮件转换为 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 格式的步骤。

以下是将电子邮件文件转换为 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 格式的步骤。

以下是将电子邮件文件转换为 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 中包含标题信息。

以下是将电子邮件转换为带有标题信息的 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 格式的步骤。

以下是使用 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。如果您有任何问题,请随时通过我们的 免费支持论坛 联系我们。

也可以看看