PHP Imap:邮件线程对话

5
我是一名新手,正在学习PHP中的IMAP函数,并被分配建立一些工单网站。 我已经掌握了基本的电子邮件获取部分,但在“线程化对话视图”方面遇到了困难。 我需要能够以线程化对话视图呈现电子邮件(发送和接收),就像智能手机的短信功能一样。 我找到的大多数算法都只处理了线程化收件箱,而不包括已发送的项目。如果您能帮助我解决这个问题,那就太好了。 我的最终目标结果将是一个“未读”邮件数组,每个主题分组,每个主题包含属于该主题的电子邮件交换记录。 类似于这样的东西:
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
你目前尝试了什么,哪些方法没有奏效?你需要具体的帮助吗?你已经学习了哪些资源?当前问题有点宽泛,因为你所讨论的问题可能有多种解决方案,而且你的问题并没有足够的信息说明你想如何解决这个问题。就IMAP而言,例如在创建答案时是否设置了父消息ID还不清楚。 - hakre
此外,“智能手机的短信功能”- 我的智能手机只有所有短信的列表,没有线程。所以我想说这不是你要找的,可能画一个草图来展示你要找的内容或者一些ASCII艺术/方案在这里更有效。 - hakre
1个回答

2
也许imap_thread()是您需要的?
您需要遍历结果,并使用imap_headerinfo()构建示例数组。只要您查询的邮箱保持整洁,就应该运行得相当快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接