Technik · belegte Antwort

SMTP-Authentifizierung: Definition und technische Umsetzung

Die SMTP-Authentifizierung ist ein Sicherheitsmechanismus, bei dem sich ein E-Mail-Client oder eine Anwendung gegenüber einem SMTP-Server ausweisen muss, bevor sie E-Mails senden darf. Sie verhindert Open Relays, weil nur autorisierte Nutzer Nachrichten über den Server weiterleiten können. Üblich ist dafür ein Benutzername mit Passwort über die AUTH-Erweiterung.

Ablauf im Detail

Der Ablauf beginnt damit, dass sich der Client mit dem Server verbindet und den Befehl EHLO sendet. Der Server antwortet mit einer Liste der unterstützten Erweiterungen, darunter AUTH. Der Client wählt dann ein Authentifizierungsverfahren wie PLAIN oder LOGIN und übermittelt die Zugangsdaten. Prüft der Server die Zugangsdaten erfolgreich anhand seiner Benutzerdatenbank, erlaubt er dem Client die Befehle MAIL FROM und RCPT TO.

Bedeutung für Absender

Ohne Authentifizierung arbeitet ein Server als Open Relay, über den jeder E-Mails senden kann. Das führt schnell zum Blacklisting der IP, weil Spammer den offenen Port ausnutzen. Die SMTP-Authentifizierung stellt sicher, dass nur legitime Anwendungen E-Mails senden. Das ist eine Grundvoraussetzung für eine saubere Absenderreputation und dafür, dass empfangende Mailserver Nachrichten nicht ablehnen.

Hinweise und häufige Fehler im Betrieb

Ein häufiger Fehler ist das Senden von Zugangsdaten über unverschlüsselte Verbindungen. Um Diebstahl von Zugangsdaten zu verhindern, sollte die Authentifizierung immer mit STARTTLS oder implizitem TLS kombiniert werden. Ein weiteres verbreitetes Problem sind veraltete Authentifizierungsverfahren, die moderne Provider nicht mehr unterstützen. Mit den kostenlosen Tools von SendHQ (https://sendhq.cc/tools) können Entwickler ihre DNS- und Authentifizierungskonfiguration prüfen.

Konkretes Implementierungsbeispiel

In einer typischen Python-Implementierung mit smtplib verbindet sich ein Entwickler mit Port 587, ruft starttls() auf, um die Verbindung abzusichern, und danach login(user, password). So ist gewährleistet, dass die Identität über einen verschlüsselten Kanal geprüft wird, bevor der Server die Nachricht zur Zustellung an das endgültige Ziel annimmt.

Authentifizierungsverfahren

Zu den gängigsten Verfahren gehört PLAIN, das das Passwort in einem Klartext-ähnlichen Format (Base64) überträgt, sowie LOGIN, ein Legacy-Verfahren älterer Clients. Moderne Systeme bevorzugen für die SMTP-Authentifizierung oft OAuth2. Damit verwenden Anwendungen Tokens statt statischer Passwörter, was das Risiko verringert, dass Zugangsdaten in Konfigurationsdateien offengelegt werden.

Häufige Fragen von Teams

Ist die SMTP-Authentifizierung dasselbe wie SPF oder DKIM?

Nein. Die SMTP-Authentifizierung prüft beim Versand den Client gegenüber dem Server. SPF und DKIM prüfen nach dem Versand den Absender gegenüber dem empfangenden Server.

Welcher Port wird üblicherweise für authentifiziertes SMTP verwendet?

Port 587 ist der Standard für die E-Mail-Einlieferung mit Authentifizierung und STARTTLS, Port 465 wird für implizites TLS verwendet.

Was passiert, wenn die SMTP-Authentifizierung fehlschlägt?

Der Server gibt den Fehlercode 535 Authentication Failed zurück und lehnt die Nachricht ab. Sie wird weder in die Warteschlange gestellt noch zugestellt.

Primärquellen