header 中的 webklex laravel-imap 个引用

webklex laravel-imap references in header

我仍在努力使用 webklex laravel-imap 包处理电子邮件线程,我正在尝试理解 header 信息,主要是参考。基本上,每当我抓取收件箱并有新回复时,我只想获取该回复的 body 并将其添加到前端的评论中(因此将该回复的 body 保存在数据库)

我认为执行此操作的一种方法是在当前消息上方注入一个标记,这样当他们响应时我可以解析直到该标记点的任何内容。

无论如何,我正在使用 $oMessage->getHeaderInfo() 来获取 header,然后我为每封收到的电子邮件存储 message_id。我想我可能还需要存储引用,以便我可以跟踪回复,但我没有完全理解我到达这里的参数:

        Message_id for original message
            <BN9PR12MB50662E9B5341983E744821B4D1159@BN9PR12MB5066.namprd12.prod.outlook.com>

        After I've replied to that email and the sender has responded back to me (total of 3 messages in thread now)

        in_reply_to: 
            <BYAPR12MB2904B9CD0C265DDBCBBB920288159@BYAPR12MB2904.namprd12.prod.outlook.com>
        Message_id: 
            <BN9PR12MB5066274555ED3DB67B7F001FD1159@BN9PR12MB5066.namprd12.prod.outlook.com>
        references: 
            <BN9PR12MB50662E9B5341983E744821B4D1159@BN9PR12MB5066.namprd12.prod.outlook.com><BYAPR12MB2904B9CD0C265DDBCBBB920288159@BYAPR12MB2904.namprd12.prod.outlook.com>

因此,原始电子邮件的 message_id 是引用 object 中的第一个 ID,这是有道理的。似乎 in_reply_to 显示线程中第二条消息的 message_id(我对原始电子邮件的回复),然后引用 object 中的另一个 ID 是 message_id 链中的当前(第三个)电子邮件。

听起来正确吗?只要我在参考文献中寻找原点 message_id,那么我应该能够追踪线程直到结束?

In-Reply-To 存储直接被回复的消息的message-id。这种线程电子邮件客户端(如 Thunderbird,而不是 gmail)可以显示整个回复树。这就是系统如此复杂的原因:它不仅仅是跟踪一堆相关的电子邮件,它还在跟踪哪条消息是对哪条消息的回复的确切关系。

这曾经被认为很重要,并且反映在许多旧的电子邮件和新闻类型的客户端中。