PHP imap_mail_move: richtiges Verzeichnis angeben

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
619
ich probiere mich gerade mit dem Lesen von Mails per php. ich möchte Mails, die gelesen wurde, entsprechend verschieben. das versuche ich damit:

PHP:
imap_mail_move($mail,1,'INBOX/testordner');

doch sie wird nicht verschoben, scheinbar ist die Angabe zum Ordner falsch:

Code:
Client tried to access nonexistent namespace
aber wie muss das richtig heißen ? [INBOX] geht auch nicht, im internet finde ich beispiele wie [GMAIL]/folder, sollte ich bei meinem Hoster nachfragen ? ich habe einen eigenen webspace. das läuft über plesk. oder kann ich das selbst rausfinden ?

außerdem funktioniert imap_delete auch nicht wie gewollt, die mails werden nur als gelöscht markiert irgendwie... kann ich das irgendwie ändern noch ?
 

Anhänge

  • 20220217-184633.png
    20220217-184633.png
    5 KB · Aufrufe: 134
Laut php.net:
imap_mail_move(
IMAP\Connection $imap,
string $message_nums,
string $mailbox,
int $flags = 0
): bool
Ob $mail eine IMAP\Connection ist, können wir nicht sehen, ebensowenig ob ein IMAP-Verzeichnis namens "INBOX/testordner" existiert, aber zumindest $message_nums soll ein String sein, welcher
message_nums
message_nums ist keine Liste von Nachrichtennummern, sondern ein Nachrichtenbereich (wie in » RFC2060 beschrieben).
erfüllt.
Schau nach, hier. Hab keine Lust das für Dich zu lesen...

In der Doku steht auch, dass das Delete-Verhalten so vorgesehen ist:
Hinweis:
imap_mail_move() setzt für die Original-Nachricht ein Lösch-Flag. Um sie erfolgreich zu löschen, muss die Funktion imap_expunge() aufgerufen werden.
 
Zurück
Oben