gpt4 book ai didi

vba - 我可以通过 VBA 修改 Outlook 中的对话 ID 以对独立的电子邮件进行分组吗?

转载 作者:行者123 更新时间:2023-12-04 02:20:47 25 4
gpt4 key购买 nike

我确实收到了很多由各种机器人发送的邮件。我可以通过主题轻松识别电子邮件(例如:“对工单 123 的响应”)。
不幸的是,每封电子邮件都是单独自动生成的。

为此,Outlook 不会像普通对话那样将它们分组。

我想知道是否可以修改例如邮件属性“ConversationID”?我是否需要创建一个“ConversationTopic”并将其分配给相关的 MailItems?

最佳答案

我可以通过使用 Redemption 自己解决这个问题获得对 ConversationTopic 和 ConversationIndex 的 MAPI 属性的写访问权限。

虽然显然 ConversationTopic 首先用于对消息进行分组,但 ConversationIndex 在分组中也发挥作用:它不仅携带排序时间戳,而且第一个字节是对话代码,必须在对话的所有电子邮件中匹配。否则,即使主题相同,它们仍然没有分组。详情请看这里:https://msdn.microsoft.com/en-us/library/ms528174(v=exchg.10).aspx

幸运的是,将 Index 设置为 Null 显然使 Outlook 只关注主题,因此我们不需要重新计算新的索引。

我的工作代码:

Dim oNS As Object
Dim oRDOSess As Object
Dim oRDOItem As Object

Debug.Print "Creating Redemption Object ..."
' This requires: http://www.dimastr.com/redemption/download.htm
Set oRDOSess = CreateObject("Redemption.RDOSession")
Set oNS = Nothing
Set oNS = Outlook.GetNamespace("MAPI")
oNS.Logon
oRDOSess.MAPIOBJECT = oNS.MAPIOBJECT

Set oRDOItem = oRDOSess.GetMessageFromID(incomingMail.EntryID, incomingMail.Parent.StoreID)

Debug.Print "Trying to change conversation topic ..."
oRDOItem.ConversationTopic = incomingMail.Subject

Debug.Print "Trying to change conversation index ..."
oRDOItem.Fields("http://schemas.microsoft.com/mapi/proptag/0x00710102") = Null

Debug.Print "Saving modified mail item ..."
oRDOItem.Save

关于vba - 我可以通过 VBA 修改 Outlook 中的对话 ID 以对独立的电子邮件进行分组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33836857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com