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.socketstd.net.dnsstd.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 |
