2

imap_search関数を使用してIMAPサーバー上のメッセージを検索する方法はありますか?phpマニュアルによると、imap_searchは限られた数の検索オプションのみを許可し、UIDによる検索はそれらの間にありません:http: //us.php.net/manual/en/function.imap-search.php

それで、UID(提供されたUIDよりも高い)に基づいてメッセージを取得する方法はありますか?これは、IMAP4プロトコルの改訂以降(2003年以降だと思います)にサポートされるはずです。

4

1 に答える 1

0

あなたは広範囲にわたる調査を経て、ついにここに着陸したと確信しています。それに直面しましょう、それは不可能です。ただし、この機能には回避策があります。

たぶんあなたはこれに似たコードを利用することができます:

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //lets say momentarily
while(imap_fetchheader($imap_stream, $msg_no)){
    //do some processing
    $msg_no++;
}// loop will continue till there is no more of newer messages

これにより最大実行時間が発生する可能性があるため、forループを使用して、特定の反復回数でジョブを実行できることに注意してください。

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //lets say
for($i=0;$i<=50;$i++){
if(imap_fetchheader($imap_stream, $msg_no)){
    //do some processing
}
$msg_no++;
} // this will go for 50 times
于 2012-04-16T11:34:59.063 に答える