我们正在Outlook上构建一种通信管理系统。我们希望实现的一项重要任务是检索同一线程中的所有消息(.msg文件??)及其附件,并将它们放在CMS的存储库中的同一文件夹中。
我们面临的问题是我们如何以编程方式知道特定消息(或.msg文件??)和附件属于特定线程。
假设我们在存储库中创建了一个文件夹。然后,我们希望作为对原始邮件的回复发送的所有邮件(以及附件)自动进入同一文件夹。
我试图找出它们是否在.msg文件中设置任何标头以识别该线程,但没有找到任何内容。
但仍然很好奇Outlook客户端如何显示排列为通信线程层次结构的消息。因此必须有一些方法可以检索存储在某处的信息。我只是想知道如何访问它。
答案 0 :(得分:1)
分组保存在消息标题中指示:“消息ID:”,“参考:”& “In-Reply-To:”,您可以使用我之前找到的具有以下功能的Outlook VBA查看它。
Private Function GetInetHeaders(olkMsg As Outlook.MailItem) As String
' Purpose: Returns the internet headers of a message.'
' Written: 4/28/2009'
' Author: BlueDevilFan'
' Outlook: 2007'
Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
Dim olkPA As Outlook.PropertyAccessor
Set olkPA = olkMsg.PropertyAccessor
GetInetHeaders = olkPA.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
Set olkPA = Nothing
End Function
答案 1 :(得分:0)
使用PR_CONVERSATION_INDEX属性(如果单击IMessage按钮,则可以在OutlookSpy中看到它)
MSDN上记录了对话跟踪:http://msdn.microsoft.com/en-us/library/office/cc765583.aspx