Office 365 REST API 可以发送包含纯文本和 HTML 正文的电子邮件吗?

Can Office 365 REST API send an email with both plain text and HTML body?

我正在查看 API 文档,您似乎只能在 Message.

中指定一个 Body

正在发送消息:

https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#SendMessages

Message类型:

https://msdn.microsoft.com/en-us/office/office365/api/complex-types-for-mail-contacts-calendar#MessageResource

是否可以使用纯文本和 HTML 执行 multi-part 消息之类的操作?

最终我希望发送此邮件时附上日历会议邀请,但这是另一个话题。

Can Office 365 REST API send an email with both plain text and HTML body?

不,您将使用 REST 点来设置一种或另一种类型的主体。

Is it possible to do something like a multi-part message with plain text and HTML?

当邮件在发送时转换为 MIME 时,Exchange 环境会为您完成此操作。 Exchange 将生成 MIME 的 "multipart/alternative" 部分并设置适当的纯文本和 HTML 用于您通过 REST 调用设置的内容。例如,如果您通过 rest 请求设置 "HTML" 正文,传出的 MIME 将有 HTML 部分,正如您所设置的那样,以及替代的 "plaintext" 部分,它将由 Exchange MIME 转换器生成为将您的 HTML 的版本剥离为裸文本;反之亦然。

请注意,我们不讨论与邮件附件相关的 "multipart/mixed" 部分。这只是关于邮件正文的替代部分。

最后,看看Microsoft Outlook 应用程序。这只是 Exchange 环境的另一个客户端。您可以将消息撰写为纯文本或选择将其撰写为 RTF/HTML,但绝不能两者兼而有之。替代部分将由 Exchange MIME converter 作为 Message -> MIME 转换的一部分生成,并且 MIME 将具有同一主体的替代部分。

最后我不确定我是否回答了你的问题,因为从评论看来你知道什么是 "multipart/alternative" 以及它与 "multipart/mixed" 的区别。