You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过EWS或Graph在Microsoft 365中创建邮件线程对话?

在Microsoft 365中通过EWS或Graph实现邮件对话分组

EWS解决方案:组合设置关键属性实现对话分组

单独设置Thread-Id互联网头无法触发Exchange的对话分组,因为Exchange的对话逻辑依赖多个属性的组合匹配。你需要同时配置以下内容:

  • 必设扩展属性:
    1. 保持PR_CONVERSATION_TOPIC(0x0070)完全一致(你之前的XML写法是正确的,但要确保同组所有邮件的该值毫无差异,包括大小写、空格)
    2. 添加PR_CONVERSATION_INDEX(0x0071)扩展属性,类型为二进制。同组邮件可使用相同的初始二进制值,示例XML如下:
      <t:ExtendedProperty>
        <t:ExtendedFieldURI PropertyTag="0x0071" PropertyType="Binary"/>
        <t:Value>AAQkADJkNz...</t:Value> <!-- 替换为有效的二进制值 -->
      </t:ExtendedProperty>
      
  • MIME头配置:
    在MimeContent的互联网头中,同时设置References和In-Reply-To,指向同组内某封邮件的Message-ID,而不是仅设置Thread-Id。
  • 主题一致性:
    MIME内容中的Subject需保持核心主题一致(可带Re:/Fwd:前缀,但前缀后的主题要完全匹配)。

Exchange的对话分组逻辑会综合以上属性,只要这些值完全匹配,就能将邮件归为同一对话组。

Graph API解决方案:直接利用对话机制

Graph API提供了更直观的对话分组方式,无需手动配置多个属性:

  • 创建新对话:通过POST /me/conversations接口创建对话,指定主题等基础信息
  • 添加邮件到对话:使用POST /me/conversations/{conversationId}/threads/{threadId}/reply接口,直接将新邮件追加到目标对话中
  • 关联现有邮件:如果是导入已生成的邮件,创建邮件时指定conversationId属性,即可直接将邮件纳入对应对话组

这种方式由Exchange自动维护对话相关属性,无需手动处理扩展字段或MIME头,可靠性更高。

补充说明

你之前仅设置PR_CONVERSATION_TOPIC未生效,是因为缺少PR_CONVERSATION_INDEX和MIME头的配合。Exchange的部分对话属性(如PR_CONVERSATION_ID)确实是只读,但PR_CONVERSATION_TOPIC和PR_CONVERSATION_INDEX是可写的,配合MIME头即可实现分组。

你尝试设置PR_CONVERSATION_TOPIC的XML:

<t:ExtendedProperty>
<t:ExtendedFieldURI PropertyTag="0x0070" PropertyType="String"/>
<t:Value>This is a dummy subject</t:Value>
</t:ExtendedProperty>

内容的提问来源于stack exchange,提问作者Jeff McKay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:23:22