PHP imap_搜索收件箱/已发送邮件
我需要用一些条件搜索PHP imap_搜索收件箱/已发送邮件,php,codeigniter,email,imap,Php,Codeigniter,Email,Imap,我需要用一些条件搜索收件箱和已发送邮件 假设我需要过滤的电子邮件Id是user@example.com 在收件箱-中从,CC字段中搜索 在已发送项目-至字段中搜索 $result=imap_搜索($conn,'From'user@example.com“到”user@example.com"'); 我尝试了imap\u搜索,但它不适用于多个条件 是否可以同时搜索收件箱和已发送邮件 提前谢谢。不,不可能 PHP使用MarkCrispin的c-client库进行IMAP工作。在c-client库中,
收件箱
和已发送邮件
假设我需要过滤的电子邮件Id是user@example.com
收件箱
-中从
,CC
字段中搜索已发送项目
-至
字段中搜索
$result=imap_搜索($conn,'From'user@example.com“到”user@example.com"');imap\u搜索
,但它不适用于多个条件
是否可以同时搜索收件箱
和已发送邮件
提前谢谢。不,不可能
PHP使用MarkCrispin的c-client库进行IMAP工作。在c-client库中,mail.c中有一个已弃用的方法mail_criteria,它将IMAP搜索字符串转换为c-client搜索程序。在过去8年左右的时间里,mail_标准一直被弃用,因此从未更新以支持IMAP4搜索语法。因此,IMAP2中不存在的或之类的搜索词从未在mail_criteria函数中得到支持。以下是它支持的以“O”开头的所有术语:
case 'O': /* possible OLD, ON */
if (!strcmp (criterion+1,"LD")) f = pgm->old = T;
else if (!strcmp (criterion+1,"N"))
f = mail_criteria_date (&pgm->on,&r);
break;
或者不在名单上。因此,即使c-client在其SEARCHPGM结构中支持或,它也不会在不推荐使用的mail_criteria函数中解析或
PHP仍然使用mail_标准来解析搜索查询。2011年。因此,除非c-client库取消了mail_标准并使其符合IMAP4,或者PHP编写了自己的IMAP搜索解析器,否则您只能使用IMAP2支持的任何东西。其中不包括或
imap_搜索将无法使用多个条件使用循环。搜索它们并将结果放入数组为什么将所有内容放入查询中,为收件箱放置结果,并将其他文件夹的链接放入结果中。当用户单击Outbox等文件夹时,触发该文件夹的查询并显示结果:)