2

両方を検索する必要がInboxありSent Items、いくつかの基準があります。

フィルタリングする必要がある電子メール ID がuser@example.com

  1. INBOX- FROMCCフィールドで検索
  2. Sent Items-Toフィールドで検索

    $result= imap_search($conn, '"user@example.com" から "user@example.com" へ');

試しimap_searchましたが、複数の基準で機能しません。

また、 と の両方を検索することは可能INBOX ですSent Itemsか?

前もって感謝します。

4

1 に答える 1

2

いいえ、それは不可能です

PHP は、内部で Mark Crispin の c-client ライブラリを使用して IMAP 作業を行っています。c クライアント ライブラリには、mail.c に非推奨のメソッド mail_criteria があり、IMAP 検索文字列を c クライアント検索プログラムに変換します。mail_criteria は過去 8 年ほど前から廃止されており、IMAP4 検索構文をサポートするように更新されることはありませんでした。そのため、IMAP2 には存在しなかった OR のような検索用語は、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 構造体で OR をサポートしていますが、非推奨の mail_criteria 関数で OR を解析しません。

また、PHP は引き続き mail_criteria を使用して検索クエリを解析します。2011 年。したがって、c-client ライブラリが mail_criteria を非推奨にして IMAP4 準拠にするか、PHP が独自の IMAP 検索パーサーを作成するまで、IMAP2 がサポートするものに固執することになります。ORを含まないもの。

imap_search は複数の基準では機能しません

于 2012-09-07T05:34:27.940 に答える