PHP Imap:线程电子邮件对话

时间:2013-07-30 06:31:15

标签: php imap email-threading

我是PHP的IMAP功能的新手,我的任务是建立一些票务网站 我得到了基本的电子邮件提取部分,但我有点偶然发现了“线程对话视图”的障碍。

我需要能够在线程会话视图中呈现电子邮件(已发送和已接收),就像智能​​手机的SMS工具一样。

我发现大多数算法都处理了线程收件箱,不包括已发送的项目。如果你能帮我解决这个问题会很好。

我的最终目标结果最初是每个主题分组的“UNREAD”邮件数组,每个邮件包含属于该主题的交换电子邮件的踪迹。

这样的事情:

array
(
  [0] => array
         (
           [0] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'yes i am',
                    'subject' => 'Re: Fubar',
                    'status' => 'unread'
                  ),
           [1] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'are you from america?',
                    'subject' => 'Re: Fubar',
                    'status' => 'read'
           [2] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'hello',
                    'subject' => 'Re: Fubar',
                    'status' => 'read'
           [3] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'hi',
                    'subject' => 'Fubar',
                    'status' => 'read'
         ),
  [1] => array
         (
           [0] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'hell yeah!',
                    'subject' => 'Re: Skills',
                    'status' => 'unread'
                  ),
           [1] => array
                  (
                    'date' => 'some date',
                    'sender' => 'some sender',
                    'message' => 'are you good enough?',
                    'subject' => 'Skills',
                    'status' => 'read'
)

1 个答案:

答案 0 :(得分:2)

也许imap_thread()就是你所追求的?

您必须遍历结果,并使用imap_headerinfo()构建示例数组。只要您要查询的邮箱保持修剪,它就应该运行得相当快。