使用 laravel-imap 跟踪整个电子邮件线程

问题描述

我正在使用 webklex 的 laravel-imap 包,我正在对所有信息进行非常标准的提取,解析,然后将每封邮件的信息存储到数据库中。

它可以正常工作,但我无法弄清楚如何跟踪与单个原始消息相关的整个邮件线程。因此,如果有人发送了一个请求,导致一个线程有 7 个以上的回复,我希望为此有 8 个数据库条目(每个结果回复/消息一个

我已经提取标题信息来获取消息 ID,但它似乎与我预期的不匹配,我想我只是误解了这里的用法

如何正确使用标头信息来跟踪线程中的每个响应?

    $aMessages = $inBoxFolder->messages()->all()->get();
    
    foreach($aMessages as $oMessage) {
        $uid = $oMessage->getUid();

        $body = $oMessage->getHTMLBody();
        $date_sent = $oMessage->getDate();
        $subject   = $oMessage->getSubject();
        $senderArray    = $oMessage->getFrom();
        $senderName = strval($senderArray[0]->personal);
        $senderEmail = $senderArray[0]->mail;
        $header = $oMessage->getHeaderInfo();

        $message_header_id = $header->message_id;

            $sql = "INSERT INTO MAIL
                    ( MESSAGE_UID,MESSAGE_SENDER,MESSAGE_SENDER_EMAIL,MESSAGE_SUBJECT,MESSAGE_SENT_TIME,MESSAGE_CONTENT,MESSAGE_HEADER_ID,MESSAGE_PROCESSED )
                    VALUES ( ?,?,'N' )";

            DB::connection('odbc')->statement($sql,[$uid,(string)$senderName,(string)$senderEmail,(string)$subject,(string)$date_sent,(string)$formatted_body,(string)$message_header_id]);
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)