====== std.net.smtp ====== SMTP (Simple Mail Transfer Protocol, RFC 5321) ist das Standardprotokoll zum Versand von E-Mails. Die Unit implementiert den vollständigen SMTP-Dialog: EHLO-Aushandlung, MAIL FROM, RCPT TO, DATA-Sequenz und QUIT. Unterstützt werden alle drei Standard-Ports: SMTP (25), Submission (587) und SMTPS (465). Einsatzbereiche sind Benachrichtigungssysteme, Alerting, automatisierte Reports, Transaktions-E-Mails und alle Anwendungen, die E-Mails direkt ohne externen Mail-Client versenden müssen. ---- ===== Imports ===== * ''std.net.socket'' * ''std.net.dns'' * ''std.net.types'' ---- ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Sichtbarkeit ^ | ''SMTP_PORT'' | ''int64'' | ''25'' | pub | | ''SMTP_SUBMISSION_PORT'' | ''int64'' | ''587'' | pub | | ''SMTPS_PORT'' | ''int64'' | ''465'' | pub | | ''SMTP_READY'' | ''int64'' | ''220'' | pub | | ''SMTP_QUIT'' | ''int64'' | ''221'' | pub | | ''SMTP_OK'' | ''int64'' | ''250'' | pub | | ''SMTP_AUTH_CONTINUE'' | ''int64'' | ''334'' | pub | | ''SMTP_DATA_START'' | ''int64'' | ''354'' | pub | | ''SMTP_AUTH_SUCCESS'' | ''int64'' | ''235'' | pub | ---- ===== Typen ===== ==== SMTPConn (struct) ==== ^ Feld ^ Typ ^ ==== SMTPEmail (struct) ==== ^ Feld ^ Typ ^ ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''SMTPReadResponse(conn: SMTPConn, buf: int64): int64'' | pub | SMTP-Antwortcode vom Server lesen | | ''SMTPSendCmd(conn: SMTPConn, cmd: int64, len: int64): int64'' | pub | SMTP-Kommando an Server senden | | ''SMTPStrLen(s: int64): int64'' | pub | Länge eines SMTP-Strings ermitteln | | ''SMTPBuildEhlo(hostname: int64): int64'' | pub | EHLO-Befehlsstring zusammenbauen | | ''SMTPBuildMailFrom(sender: int64): int64'' | pub | MAIL FROM-Befehlsstring zusammenbauen | | ''SMTPBuildRcptTo(recipient: int64): int64'' | pub | RCPT TO-Befehlsstring zusammenbauen | | ''SMTPBuildMessage(email: SMTPEmail): int64'' | pub | E-Mail-Nachrichteninhalt aufbauen | | ''SMTPConnect(host: int64, port: int64): SMTPConn'' | pub | TCP-Verbindung zum SMTP-Server herstellen | | ''SMTPEhlo(conn: SMTPConn, hostname: int64): int64'' | pub | EHLO-Dialog mit Server durchführen | | ''SMTPMailFrom(conn: SMTPConn, sender: int64): int64'' | pub | Absenderadresse an Server übermitteln | | ''SMTPRcptTo(conn: SMTPConn, recipient: int64): int64'' | pub | Empfängeradresse an Server übermitteln | | ''SMTPDataStart(conn: SMTPConn): int64'' | pub | DATA-Sequenz am Server einleiten | | ''SMTPSendMessage(conn: SMTPConn, email: SMTPEmail): int64'' | pub | E-Mail-Daten in DATA-Phase senden | | ''SMTPSend(conn: SMTPConn, email: SMTPEmail): int64'' | pub | Vollständige E-Mail über SMTP versenden | | ''SMTPQuit(conn: SMTPConn): int64'' | pub | SMTP-Sitzung regulär beenden | | ''SMTPClose(conn: SMTPConn)'' | pub | SMTP-Verbindung schließen und freigeben |