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