Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

KIDS

Exkursion: SMTP und POP3 im Internet

Auch wenn die in diesem Kapitel behandelten Protokolle bereits in Computerverhältnissen sehr alt sind, so sind sie dennoch nach wie vor aktiv im Einsatz. Es ist also weiterhin möglich auf diese Weise eine Verbindung zu einem öffentlichen E-Mail Server aufzubauen und E-Mails zu versenden und empfangen.

Um einen Missbrauch, u.a. in Form von SPAM, zu verhindern wurden jedoch weitere Maßnahmen wie bessere Authentifizierungen in den Protokollen eingeführt. Zudem ist es nicht ratsam, eine unverschlüsselte Verbindung zum Versand und Empfang von E-Mails zu nutzen.

Möchtest du dennoch den Versand von E-Mails per SMTP im Internet testen, so solltest du z.B. openssl verwenden um eine verschlüsselte Verbindung mit dem SMTP Server aufzubauen. Zudem solltest du am besten eine „Wegwerf-E-Mail-Adresse“ verwenden, um Risiken zu minimieren.

Eine Verschlüsselte SMTP Verbindung kannst du mit installiertem openssl auf folgende Weise starten:

openssl s_client -connect <Server-Adresse>:<Server-Port> -starttls smtp

Die zur Verbindung nötigen Angaben für Server-Adresse sowie Server-Port findest du bei deinem E-Mail Anbieter. Meist hilft eine Suche nach „SMTP SSL“ sowie dem Anbieternamen.

Im Falle von web.de sieht der Befehl zum Aufbau einer Verschlüsselten SMTP Sitzung beispielsweise wie folgt aus:

openssl s_client -connect smtp.web.de:587 -starttls smtp

Hinweise zur Verwendung von SMTP im Internet

  • Der in diesem Kapitel eingeführte HELO Befehl wird in neueren Versionen des Standards als EHLO definiert. Einige SMTP Server akzeptieren nur noch diese Schreibweise.
  • Üblicherweise muss eine Authentifizierung beim SMTP Server stattfinden. Nach dem ersten EHLO Befehl gibt der Server bei Bedarf die unterstützten Auth Methoden aus. Die einfachste Form der Authentifizierung ist die in RFC 4616 definierte PLAIN Methode.
    Der Befehl für PLAIN AUTH lautet dabei: AUTH PLAIN <code> mit einem base64 codierten code aus Benutzername und Passwort.
    Ein kurzes Python Skript welches den nötigen Code generiert findest du hier: auth_plain.py.
  • Häufig auftretender Fehler: Nach Eingabe von RCPT TO erhalten wir RENEGOIATING und einen Fehler seitens des Servers.
    Lösung: Beginnt eine Nachricht in openssl mit R löst dies eine Renegotiation aus. rcpt to muss bei openssl daher in Kleinbuchstaben eingegeben werden.
X

Fehler melden

X

Suche