管理 Outlook 模板、签名邮件和类别

读取和写入 Outlook 模板(OFT)文件

Outlook 模板是可重复使用的电子邮件文件(.oft),帮助自动发送相似或重复的邮件。您无需每次重新编写相同内容,只需打开已保存的模板,更新细节并立即发送。

使用 Aspose.Email for C++,您可以通过 MailMessage 类。加载后,您可以更新发件人、收件人、主题和正文等字段,然后可以:

  • 使用 SmtpClient 类发送更新后的邮件,或
  • 将其保存为 MSG 文件,以便在 Microsoft Outlook 中进一步编辑或验证。

以下代码示例演示如何加载 Outlook 邮件模板(OFT 文件),修改其发件人和收件人信息,通过替换占位符为特定值来个性化邮件内容,然后将更新后的邮件保存为带未发送标志的 Outlook MSG 文件。

管理数字签名(S/MIME)邮件

在将 EML 转换为 MSG 时保留签名

Aspose.Email 完全支持 S/MIME 操作,允许您保存或转换数字签名的邮件而不破坏签名完整性。该 API 提供两种方法在从 EML 转换为 MSG 时保留签名。

1. 自动保留 S/MIME 签名

  1. 使用加载 EML 文件 MailMessage::Load()。它解析 MIME 结构:标题、正文部分、附件、签名。
  2. 通过调用保存为 MSG Save()SaveOptions::get_DefaultMsgUnicode()。这会自动构建 Unicode MSG 格式,同时保留邮件层次结构和内容完整性。

如果原始邮件包含 S/MIME 数字签名,它会被识别并作为特殊附件保存在生成的 MSG 文件中。

正文不会重新格式化,确保签名保持有效。

2. 可控转换

此方法使用两步过程,显式将基于 MIME 的消息转换为基于 MAPI 的消息表示。

  1. 使用加载 EML 文件 MailMessage::Load()。它将 EML 解析为包含标题、正文部分和附件的 MIME 对象模型。
  2. 使用转换为 MAPI 消息 MapiMessage::FromMailMessage().
  3. 配置 MapiConversionOptions:
    • 设置输出编码(ANSI/Unicode)。
    • 选择邮件格式。
    • 如有需要,保留 TNEF 附件。
    • 包含或保留数字签名。
    • 定义正文格式(纯文本、RTF、HTML)。
  4. 启用 PreserveSignature = true 以保持 S/MIME 签名完整。这会嵌入签名的 MIME 部分(application/pkcs7-mime 或 pkcs7-signature),而不进行解码或重新包装。
  5. 将生成的 MAPI 消息保存为 MSG 文件,保留所有属性和签名。

使用此方法可自定义邮件正文格式、编码和附件处理。它在保留 TNEF 数据、不同方式管理附件或将 MSG 创建集成到复杂的 Outlook/MAPI 工作流中时很有用。它提供对 MAPI 属性集的访问,以进行深层操作。

为 Outlook MSG 文件设置颜色类别

颜色类别帮助在 Outlook 中组织邮件。Aspose.Email 提供了 FollowUpManager 类和一些函数来管理这些类别:

  • AddCategory 接受 MapiMessage 以及颜色类别字符串,例如 "Purple Category" 或 "Red Category" 作为参数。
  • RemoveCategory 接受 MapiMessage 以及要从邮件中移除的颜色类别字符串。
  • ClearCategories() 用于从邮件中移除所有颜色类别。
  • GetCategories 用于检索特定邮件中的所有颜色类别。

以下代码示例演示如何加载 Outlook MSG 邮件文件,向邮件添加颜色类别,检索并显示其现有类别,然后使用 FollowUpManager.

访问 MSG 文件中的跟进信息

Aspose.Email 可以从 Outlook 邮件中提取 已读回执送达回执投票结果

以下代码示例演示如何读取 Outlook MSG 文件并遍历其收件人,以显示详细的跟踪信息。具体而言,它展示了如何从 MAPI 消息的收件人属性中获取每个收件人的显示名称、邮件送达时间以及收件人阅读邮件的时间。