libcurl und imap

9

Ich habe bemerkt, dass libcurl IMAP unterstützt, aber nichts in der Dokumentation und im Beispiel Ссылка gefunden hat ist sehr arm. Kann jemand dieses Protokoll in dieser Bibliothek benutzen, wie man E-Mails herunterlädt? Grüße

    
januszmk 22.04.2012, 11:20
quelle

2 Antworten

11

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

ab

Zusä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

  • Andere Befehle können ausgegeben werden, wie zum Beispiel: LIST, um die Unterordner von a aufzulisten Briefkasten; EXAMINE, um zu sehen, welche E-Mails in einem Postfach existieren; ERSTELLEN, UMBENENNEN und LÖSCHEN, um Unterordner zu bearbeiten, SPEICHERN, um die Eigenschaften einer E-Mail zu ändern und andere. Einige Beispiele sind wie folgt:

- 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

    
rabexc 04.06.2013 16:10
quelle
3

Der folgende Befehl wählt meinen Gmail-Posteingang aus und gibt FETCH 1 BODY[TEXT] aus, um die erste (älteste) Nachricht zu erhalten:

%Vor%

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.

    
creaktive 13.11.2012 02:21
quelle

Tags und Links