Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何重建对话或群电子邮件?_Email_Outlook_Pst_Java Libpst - Fatal编程技术网

Email 如何重建对话或群电子邮件?

Email 如何重建对话或群电子邮件?,email,outlook,pst,java-libpst,Email,Outlook,Pst,Java Libpst,我有一个PST文件,其中包含一个用户的电子邮件历史记录。任务是读取此PST文件并重建电子邮件历史记录以在客户端中显示它。这包括正确显示您从电子邮件客户端了解到的对话: Meeting at 8:00 07:34 am AW: Meeting at 8:00 09:12 am AW: AW: Meeting at 8:00 13:45 pm [Jenkins Build] Success 11:54 am [Jenkins

我有一个PST文件,其中包含一个用户的电子邮件历史记录。任务是读取此PST文件并重建电子邮件历史记录以在客户端中显示它。这包括正确显示您从电子邮件客户端了解到的对话:

Meeting at 8:00               07:34 am
  AW: Meeting at 8:00         09:12 am
    AW: AW: Meeting at 8:00   13:45 pm
[Jenkins Build] Success       11:54 am
  [Jenkins Build] Failed      12:13 pm
    [Jenkins Build] Success   01:12 pm
[Jenkins Build] Success       10:34 am
  [Jenkins Build] Failed      12:12 pm
    [Jenkins Build] Success   05:12 pm
然而,我不知道我怎样才能可靠地做到这一点

我正在使用see,它提供了一个对象。有一个方法getConversationId,但它似乎只是该消息原始主题的字符串,这意味着可能存在重复项,例如[Jenkins Build]*


因此,我不确定Outlook如何能够重建对话,这是否微不足道,但如果有一种简单的方法可以做到这一点,而我只是忽略了这一点,如果有人让我知道,我会很高兴,否则这将导致我解析大量的主题字段,对邮件进行解析,并试图按邮件主题匹配邮件,这可能会导致碰巧错过同一主题的不同对话

我认为你需要自己构建对话。您可能会发现本页中有关的源代码非常有用

我将源代码复制到Github。给你

有人提出我的要点是:

在一封具有同等主题的电子邮件之后发送的电子邮件,来自之前任何电子邮件的任何参与者,都是同一对话的一部分。 “回复电子邮件”字段可以创建电子邮件对话的参与者,即使他们不是明确的参与者。 其中:

等价主语是指相同的主语,或可能导致回复或转发的主语。即FW:X、RE:X、Fwd:X等

电子邮件中的明确参与者:发件人或出现在收件人:或抄送:字段中的任何电子邮件。也许是密件抄送:字段也

电子邮件中的参与者:电子邮件中的明确参与者,或使用“回复到”字段稍后发送电子邮件的任何人

任何以前电子邮件中的参与者:在发送日期较早且与当前电子邮件具有同等主题的电子邮件中的参与者

还有一个。我从中得出的结论是,除了in-reply-to头之外,还应该参考References头,而且它更可靠。也许,如果存在,它应该取代in-reply-to头