std.net.imap

IMAP4rev1 (Internet Message Access Protocol, RFC 3501) ermöglicht den strukturierten Zugriff auf E-Mail-Postfächer auf einem Mailserver. Im Gegensatz zu POP3 verbleiben Nachrichten auf dem Server und können nach Ordnern, Flags und UID abgerufen werden. Die Unit implementiert Login, SELECT, LIST, FETCH (Body, Envelope, Flags, RFC822, UID) und das Parsing von Tagged/Untagged IMAP-Antworten.

Einsatzbereiche sind E-Mail-Archivierung, automatisiertes Postfach-Monitoring, Spam-Analyse, Mail-Migration und Anwendungen, die eingehende E-Mails programmatisch verarbeiten.


Imports

  • std.net.socket
  • std.net.dns
  • std.net.types

Konstanten

Name Typ Wert Sichtbarkeit
IMAP_PORT int64 143 pub
IMAPS_PORT int64 993 pub
IMAP_OK int64 0 pub
IMAP_NO int64 1 pub
IMAP_BAD int64 2 pub
IMAP_BYE int64 3 pub
IMAP_PREAUTH int64 4 pub
IMAP_CONTINUE int64 5 pub
IMAP_ERROR int64 -1 pub
FETCH_FLAGS int64 1 pub
FETCH_ENVELOPE int64 2 pub
FETCH_BODY int64 3 pub
FETCH_BODYSTRUCTURE int64 4 pub
FETCH_RFC822 int64 5 pub
FETCH_UID int64 6 pub

Typen

IMAPConn (struct)

Feld Typ

IMAPMailbox (struct)

Feld Typ

IMAPMessage (struct)

Feld Typ

IMAPFetchResponse (struct)

Feld Typ

Funktionen

Signatur Sichtbarkeit Beschreibung
IMAPReadLine(conn: IMAPConn): int64 pub Eine Zeile vom IMAP-Server lesen
IMAPSendCmd(conn: IMAPConn, cmd: int64, len: int64): int64 pub IMAP-Kommando an Server senden
IMAPStrLen(s: int64): int64 pub Länge eines IMAP-Strings ermitteln
IMAPBuildTaggedCmd(conn: IMAPConn, cmd: int64): int64 pub IMAP-Kommando mit Tag-Präfix aufbauen
IMAPIsTagged(line: int64, tag: int64): int64 pub Prüfen ob Antwortzeile getaggt ist
IMAPParseResponse(line: int64): int64 pub IMAP-Antwortzeile parsen und klassifizieren
IMAPReadResponse(conn: IMAPConn): int64 pub Vollständige IMAP-Serverantwort einlesen
IMAPExtractNumber(line: int64, keyword: int64): int64 pub Numerischen Wert aus IMAP-Zeile extrahieren
IMAPConnect(host: int64, port: int64): IMAPConn pub TCP-Verbindung zum IMAP-Server herstellen
IMAPLogin(conn: IMAPConn, user: int64, pass: int64): int64 pub Anmeldung mit Benutzername und Passwort
IMAPSelect(conn: IMAPConn, mailbox: int64): IMAPMailbox pub Postfach öffnen und Infos abrufen
IMAPFetchRaw(conn: IMAPConn, msgNum: int64, items: int64): int64 pub Rohe FETCH-Antwort für Nachricht abrufen
IMAPLogout(conn: IMAPConn): int64 pub IMAP-Sitzung regulär beenden
IMAPList(conn: IMAPConn, reference: int64, pattern: int64): int64 pub Postfachliste vom Server abrufen
IMAPClose(conn: IMAPConn) pub IMAP-Verbindung schließen und freigeben