AG: eMail Löschen mit imap - Funktionen

Hallo,

ich benutze Ken Dsl als eMail-Server. Jetzt habe ich in PHP per imap Funktionen die Mailbox ausgelesen. Alles funtioniert soweit ganz gut. Leider habe ich ein Problem mit dem Löschen der eMails. Das PHP Script wird alle 60s aufgerufen, sodaß ich immer die gleichen eMails abrufe. Was ist das Problem?

Code:

<?php
$mbox=imap_open("{mein.pop3server.land/pop3:110}","user","passwort");
$check=imap_mailboxmsginfo($mbox);
$anzahl=$check->Nmsgs;
if(!empty($anzahl)){
for($i=1;$i<=$anzahl;$i++){
    $emailtext=imap_body($mbox,$i);
    ...weiterer Code zur Verarbeitung...
   //Selbst doppelte Angabe des Löschen funktioniert nicht
    imap_delete($mbox,$i);
    $status=imap_setflag_full($mbox,"$i","\Deleted");
    if(!$status) print imap_last_error();
}
imap_expunge($mbox);
imap_close($mbox,CL_EXPUNGE);
?>

Vielen Dank für Ihre Hilfe.

mfg
Andreas

  1. Moin AG,

    for($i=1;$i<=$anzahl;$i++){
        $emailtext=imap_body($mbox,$i);
        ...weiterer Code zur Verarbeitung...
       //Selbst doppelte Angabe des Löschen funktioniert nicht
        imap_delete($mbox,$i);
        $status=imap_setflag_full($mbox,"$i","\Deleted");
        if(!$status) print imap_last_error();
    }
    imap_expunge($mbox);
    imap_close($mbox,CL_EXPUNGE);

    ich bin mir nicht sicher, ob in $i das Richtige steht.

    Versuche es mal so:

    while (list ($key, $val) = each ($headers))
          {
            $header = imap_header($mbox, $key+1, 1024, 1024);
            ...
            ...
            ...
            imap_delete ($mbox, $key+1);
          }

    imap_expunge ($mbox);
    imap_close ($mbox);

    Gruß
    Mike

    --
    Murphy: "Wenn etwas schiefgehen kann, dann wird es auch schiefgehen."