2011-03-10 51 views

回答

6

不,你不能。 (很難相信吧?)

PHP使用Mark Crispin的c-client庫來完成它的IMAP工作。在c客戶端庫中,在mail.c中有一個不推薦使用的方法mail_criteria,它將IMAP搜索字符串轉換爲c客戶端搜索程序。 mail_criteriahas been deprecated for the past 8 years or so and, as such, was never updated to support the IMAP4 search syntax。因此,像OR這樣的搜索字詞在IMAP2中不存在,它從未在mail_criteria函數中獲得支持。這裏所有的IT支持與「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; 

OR不在名單上。因此即使c客戶端支持ORSEARCHPGM結構,它也不會在已棄用的mail_criteria函數中解析OR

PHP still uses mail_criteria to parse search queries。因此,直到C客戶端程序庫未取消使用mail_criteria並使其符合IMAP4或PHP編寫自己的IMAP搜索解析器時,您都會被支持的任何IMAP2卡住。 Which doesn't include OR.

相關問題