将 Outlook.Mailitem 转换为 MIME 类型,而不保存或发送邮件


我有一个Outlook.Mailitem类型对象,我必须

将此对象发送到REST服务,因此为了做到这一点,我必须将Outlook.Mailitem转换为MIME类型或内存流类型或字节数,而不会中断邮件格式,因为邮件可能包含附件,图像。有没有办法我们可以在 C# 中将 Outlook.Mailitem 转换为 MIME 类型,而无需发送或保存邮件。

谢谢

Outlook带有自己的MIME转换器 - IConverterSession。您可以在OutlookSpy中使用它(我是它的作者 - 单击IConverterSession按钮|MAPIToMIMEStm(。由于这是一个扩展的 MAPI 接口,因此只能从 C++ 或 Delphi 访问。

另一种选择是从MailItem对象属性一次创建一个标头和一个 MIME 部分的 MIME 邮件。

如果使用Redemption(任何语言,我也是它的作者(是一个选项,它会暴露SafeMailItem。SaveAs和RDOMail。SaveAs方法;支持的格式之一是 MIME (olRfc822 = 1024(。

请参阅 IConverterSession::MAPIToMIMEStm 它将 MAPI 邮件转换为 MIME 流。

可以在 MFCMAPI 中找到使用 MAPIToMIMEStm 方法的示例代码。

最新更新