Eine E-Mail mit Telnet verschicken
Um mit Telnet eine E-Mail zu verschicken müsst Ihr eucg erstmal mit einem SMTP-Server (Mail Server) verbinden. Dazu geht Ihr unter Linux in die Konsole oder unter Windows in die Eingabeaufforderung und verbindet euch zu eurem Mail Server wie folgt:
telnet meinmailserver.de 25
Anstatt die Domaine eures Mailservers anzugeben könnt Ihr auch einfach die IP angeben, die 25 am ende steht für den SMTP Port eures Mail-Servers.
Nach einem erfolgreichem Verbindungsaufbau solltet Ihr folgende Meldung sehen:
telnet meinmailserver.de 25 Trying 123.123.123.123... Connected to meinmailserver.de. Escape character is '^]'. 220 meinmailserver.de ESMTP Postfix (Debian/GNU)
Mit einem HELO meinemaillserver.de begrüßen wir den Server
HELO meinemailserver.de
Der Server wird dann damit antworten:
250 meinemailserver.de
Mit den “MAIL FROM” Befehl, können wir einen Absender bestimmen
MAIL FROM:ich@meinabsender.de
Alls Antwort bekommen wir ein einfaches:
250 2.1.0 Ok
Nun geben wir mit dem Befehl “RCPT TO:” einen Empfänger an
RCPT TO:max@meinemailserver.de
Der Server wird mit dieser Ausgabe Antworten
250 2.1.5 Ok
Jetzt fehlt nur noch unsere Text Nachricht. Diese können wir mit dem Befehl “DATA” einleiten. Danach schreiben wir unseren Text den wir verschicken möchten und beenden die Eingabe mit einer Zeile die nur einen Punkt enthält.
RCPT TO:philipp@hardwaremonkey.de 250 2.1.5 Ok DATA 354 End data with . Hallo, Das ist eine Test Nachricht. .
Als Antwort vom Server erhalten wir folgendes
250 2.0.0 Ok: queued as D7A341132083
Mit einem “QUIT” beenden wir den Dialog mit dem Server und sollten in unserem Posteingang eine neue E-Mail vorfinden
SMTP Auth mit Telnet testen
Da man sich bei den meisten Servern Authentifizieren muss, wollte ich noch beschreiben wie das ganze mit SMTP Auth funktioniert. Nachdem man sich beim SMTP Server Authentifiziert hat, könnt Ihr die Email wie oben beschrieben verschicken.
Als erstes müssen wir uns wieder zum Server mit Telnet verbinden
telnet meinmailserver.de 25
Mit einem HELO sagen wir dem Server “Hallo”
HELO meinemailserver.de
Jetzt kommt der Teil, mit dem wir uns beim Server Authentifizieren
auth login
Nun bekommen wir eine “verschlüsselte” Antwort vom Server. Er fordet uns auf unseren Benutzernamen einzugeben, diesen können wir aber nicht in Klartext schicken, sondern müssen ihn in mimencode codieren. Unter Linux geht das ganz einfach so
printf "madmoses" | mimencode bWFkbW9zZXMK
Den Benutzernamen in mimencode kopiert Ihr in euer Telnet Fenster und bestätigt. Nun müsst Ihr eurer Passwort in mimencode codieren und dieses auch ins Telnet Fenster Kopieren und mit Enter bestätigen.
Das war es, als Antwort solltet Ihr ein “Authentication successful” bekommen und könnt eure Email wie oben beschrieben verfassen.
SMTP Auth mit TLS über Telnet
Leider ist das nicht wirklich lösbar mit Telnet, bzw endet in einem Chiffrierungs Chaos was beim Debugging nicht wirklich hilft.
Sollte dennoch Interesse da sein, werde ich ein kleines Tool schreiben mit dem man auch die Authentifikation mit TLS beobachten kann.