1

我们正在 Outlook 上构建某种通信管理系统。我们希望完成的一项重要任务是检索同一线程中的所有消息(.msg 文件??)及其附件,并将它们放在 CMS 存储库内的同一文件夹中。

我们面临的问题是我们如何以编程方式知道特定消息(或 .msg 文件??)和附件属于特定线程。

假设对于第一条消息,我们在存储库中创建一个文件夹。然后,我们希望所有作为原始邮件回复的邮件(连同附件)自动放在同一个文件夹中。

我试图查找它们是否是 .msg 文件中设置的任何标头以识别线程,但没有找到任何东西。

但仍然很好奇 Outlook 客户端如何显示排列为通信线程层次结构的消息。因此,我们必须有某种方法可以检索存储在某处的这些信息。我只想知道如何访问它。

4

2 回答 2

1

分组保存在邮件标题中指示:“Message-ID:”,“References:”和“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
于 2013-08-21T07:31:04.273 回答
0

使用 PR_CONVERSATION_INDEX 属性(如果单击 IMessage 按钮,您可以在OutlookSpy
中看到它) 对话跟踪记录在 MSDN 上:http: //msdn.microsoft.com/en-us/library/office/cc765583.aspx

于 2013-08-21T16:51:57.157 回答