如何解决Microsoft Graph 发送电子邮件 api 对话索引不同
我们正在将 MS Graph API 集成到我们的 c# 应用程序中。按照这篇文章 Send Mail Doccumentation 发送邮件工作正常。但是我面临着 ConversationIndex(主要是线程)的问题。 通过 API 发送的邮件的 ConversationIndex 与收件人对同一邮件的回复不同。因此,它无法识别线程。
以下是用于发送邮件的有效载荷。有人可以帮我处理发送邮件时丢失的任何钥匙或财产吗?
{
"message": {
"subject": "Meet for lunch?","body": {
"contentType": "Text","content": "The new cafeteria is open."
},"toRecipients": [
{
"emailAddress": {
"address": "fannyd@contoso.onmicrosoft.com"
}
}
],"ccRecipients": [
{
"emailAddress": {
"address": "danas@contoso.onmicrosoft.com"
}
}
]
},"savetoSentItems": "false"
}
解决方法
会话索引的结构
[reserved-1B] [timestamp-5B] [GUID-16B] [timestamp-5B][timestamp-5B]...[timestamp-5B]
同一会话线程的所有消息部分都具有相同的 16 字节 GUID。
Header Block 中的 5-Bytes [timestamp]:接收消息时的系统时间转换为 FILETIME 格式。
子块中的 5 字节 [时间戳]:子块仅适用于 Outlook 邮件,以指示线程中的后续邮件,同时保持标题块属性相同。每条回复对话的消息都会在末尾添加一个 [时间戳] 以创建新的对话索引。
属于同一会话线程的消息的相对顺序: 对于属于同一 GUID 的所有消息,按会话索引值对消息进行排序。
请参阅此处的文档以更好地理解。
如果有帮助,请点赞。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。