2 Stimmen

PHP imap_search basierend auf der Nachrichten-UID

Gibt es einen Weg, Nachrichten auf dem IMAP-Server mithilfe der imap_search-Funktion zu durchsuchen. Laut der php-Anleitung ermöglicht imap_search nur eine begrenzte Anzahl von Suchoptionen, und die Suche nach UID gehört nicht dazu: http://us.php.net/manual/de/function.imap-search.php

Gibt es also einen Weg, um Nachrichten basierend auf UID (größer als die bereitgestellte UID) zu erhalten. Dies sollte seit der IMAP4-Protokollrevision (ich denke seit dem Jahr 2003) unterstützt werden.

0voto

Ich bin sicher, dass du eine umfangreiche Suche durchgeführt hast und schließlich hier gelandet bist. Sehen wir der Realität ins Auge, es ist nicht möglich; aber es kann eine Lösung für das Feature geben.

Vielleicht kannst du einen ähnlichen Code verwenden:

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //sagen wir vorübergehend
while(imap_fetchheader($imap_stream, $msg_no)){
    //etwas Verarbeitung durchführen
    $msg_no++;
}// die Schleife wird fortgesetzt, bis es keine neueren Nachrichten mehr gibt

Beachte, dass dies zu einer maximalen Ausführungszeit führen kann, daher kannst du eine for-Schleife verwenden, um den Job mit einer spezifischen Anzahl von Iterationen zu erledigen.

$imap_stream = imap_open($mailbox, $username, $password);
$msg_no = 1212; //sagen wir
for($i=0;$i<=50;$i++){
if(imap_fetchheader($imap_stream, $msg_no)){
    //etwas Verarbeitung durchführen
}
$msg_no++;
} // dies wird 50 Mal durchgeführt

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X