Moin!
Der Code:
Da fehlt der Befehl zum Öffnen der Mailbox (imap_open()).
$emails = $_POST["emails"];
$anzahl_emails = count($emails);
for ($i = 1; $i <= $anzahl_emails; $i++) {
if ($emails[$i]) {
imap_delete($mbox, $emails[$i]);
imap_expunge($mbox);
imap_close($mbox);
}
}In $emails (array) sind die E-Mails gespeichert, mit count() ermittle ich die Anzahl der im Array gespeicherten E-Mails um dann in der for-Schleife alle E-Mails zu löschen, wo ein Eintrag existiert.
foreach ist echt eine schönere Lösung.
Jedenfalls kommt folgende Fehlermeldung:
Warning: imap_delete(): 2 is not a valid imap resource in ...\delete.php on line 12
Seltsamerweise immer genau bei der ZWEITEN Mail, die markiert ist - nachdem imap_close() schon einmal aufgerufen wurde. Wundert dich das?
Ich würde auch imap_expunge() aus der Schleife rausnehmen, dürfte mehr Performance bringen.
- Sven Rautenberg
"Love your nation - respect the others."