如何以编程方式为outlook生成电子邮件线程?

时间:2015-12-18 23:47:33

标签: .net email outlook

我有一个生成MailMessages的网络服务。

如何生成和发送倍数,以便Outlook将它们识别为线程?

我已经看过解码这些信息的例子,但在编码上没有什么可以理解的。

当我的网络服务使用SMTP发送有关同一主题的多封电子邮件时,我希望这些电子邮件的收件人(在Outlook中)将多个电子邮件串在一起,类似于回复在某些版本中自动链接和折叠的方式。

我可以在不访问交换API的情况下执行此操作吗?看起来我应该可以,因为很多电子邮件客户端没有这样的系统就会回复帖子。

2 个答案:

答案 0 :(得分:2)

确保正确设置Thread-Index MIME标头。它应该基于PR_CONVERSATION_INDEX MAPI属性(参见https://msdn.microsoft.com/en-us/library/office/cc765583.aspx)。使用OutlookSpy查看现有消息(单击IMessage按钮)。您还可以通过单击IConverterSession |来查看Outlook如何创建邮件并填充Thread-Index MIME标头MAPIToMIMEStm按钮。

答案 1 :(得分:1)

如果您将邮件创建为原始邮件的回复,则Outlook将识别为线程。

通过Exchange Server(Outlook)发送邮件的最有效方法是使用" Outlook Mail REST API。"通常,交换服务器会在已安装的Web服务器上设置服务。

管理Outlook邮箱非常简单。请参阅以下URL以了解如何使用REST API。

https://msdn.microsoft.com/office/office365/APi/mail-rest-operations#SendMessages