Es gibt eine gute E-Mail in der Mailingliste, die die IMAP-Syntax beschreibt: Ссылка
Dies ist der relevante Teil:
- URL imap: //mail.example.com/INBOX/; UID = 1 - Wählt den Posteingang des Benutzers und holt Nachricht 1
- URL imap: //mail.example.com/INBOX; UIDVALIDITY = 50 /; UID = 2 - Wählt die Benutzer-Posteingang, überprüft die UIDVALIDITY des Postfachs ist 50 und holt Nachricht 2, wenn es
ist- URL imap: //mail.example.com/INBOX/; UID = 3 /; SECTION = TEXT - Wählt die Posteingang des Benutzers und ruft Nachricht 3 mit nur dem Textteil der Nachricht
abZusätzlich zum Abrufen einer E-Mail ist es auch möglich, ein E-Mail an den Server. Dies wird durch IMAPs APPEND-Befehl und erreicht Verwenden Sie einfach den vorhandenen Mechanismus von curl zum Hochladen von Daten auf einen Server:
- URL imap: //mail.example.com/OUTBOX -T email.txt
- URL imap: //mail.example.com - Führt eine Top-Level-Ordnerliste durch
- URL imap: //mail.example.com/INBOX - Führt eine Ordnerliste auf dem Benutzer aus Posteingang
- URL imap: //mail.example.com -X "EXAMINE INBOX" - Führt eine Nachrichtenliste aus im Posteingang des Benutzers
- URL imap: // mail.example.com/INBOX -X "CREATE Unterordner" - Erstellt einen Unterordner im Posteingang des Benutzers
- URL imap: // mail.example.com/INBOX -X "RENAME Unterordner Mein Ordner" - Benennt den Unterordner im Posteingang des Benutzers in my-folder um
- URL imap: // mail.example.com/INBOX -X "Unterordner löschen" - Löscht den Unterordner im Posteingang des Benutzers
- URL imap: // mail.example.com/INBOX -X "STORE 1 + Flags \ Deleted" - Löscht Nachricht 1 aus dem Posteingang des Benutzers
- URL imap: // mail.example.com/INBOX -X "STORE 1 + Flags \ Seen" - Markierungen Nachricht 1 im Posteingang des Benutzers als gelesen
Neben der Verwendung der URL-Syntax zum Abrufen einer Nachricht ist es auch möglich, Verwenden Sie den benutzerdefinierten Anforderungsmechanismus, um auch benutzerdefinierte FETCH-Vorgänge auszuführen. Zum Beispiel
- URL imap: // mail.example.com/INBOX -X "'FETCH 1 BODY [TEXT]" wird ausgeführt die gleiche Operation wie
- URL imap: // mail.example.com/INBOX/;UID=1/;SECTION=TEXT
Der folgende Befehl wählt meinen Gmail-Posteingang aus und gibt FETCH 1 BODY[TEXT]
aus, um die erste (älteste) Nachricht zu erhalten:
Ich bin mir nicht ganz sicher, ob es eine einfache Möglichkeit gibt, andere Aufgaben auszuführen, z. B. das Auflisten von Postfächern oder das Auswählen der neuesten Nachricht.