Telnet oder Teletype Network Protocol ist ein Client/Server-Anwendungsprotokoll. Es ermöglicht Benutzern, sich direkt von der Kommandozeile ihres Computers mit den E-Mail-Servern zu verbinden.
Der Hauptzweck von Telnet besteht darin, eine standardisierte Verbindung zwischen terminalorientierten Geräten und Prozessen herzustellen (RFC 854).
Es könnte auch zum Senden von E-Mails und dabei zum Testen der SMTP-Verbindung (Simple Mail Transfer Protocol) verwendet werden. Es gibt jedoch spezifische Einschränkungen, die Sie daran hindern, E-Mails tatsächlich in der Produktion zu senden, und wir werden diese im Detail diskutieren.
Lassen Sie uns nun erklären, wie man E-Mails mit Telnet unter Windows- und Linux-Betriebssystemen sendet.
E-Mails über Telnet unter Windows senden
Voraussetzungen
- Administratorzugriff oder gleichwertig
- Konfigurierter SMTP-Server
- Telnet auf dem Computer oder der Maschine des Hosts aktiviert
- Grundkenntnisse der PowerShell- und Eingabeaufforderungsbefehle
Installation des Telnet-Clients
Die meisten Versionen von Windows-Betriebssystemen haben Telnet nicht standardmäßig aktiviert. Um zu beginnen, müssen wir also zuerst den Telnet-Client installieren. Der Installationsprozess unterscheidet sich geringfügig je nach verwendeter Windows-Version. Im Allgemeinen haben wir drei Hauptoptionen:
- Installation über die Kommandozeile;
- Installation über PowerShell;
- Installation über die Systemsteuerung.
Installation über die Kommandozeile
Drücken Sie die Windows-Taste oder klicken Sie auf die Start-Schaltfläche. Suchen Sie das Start-Suchfeld, geben Sie cmd
ein und drücken Sie Enter. Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung und drücken Sie Als Administrator ausführen. Auf diese Weise haben Sie das Recht, die Installation abzuschließen. Der nächste Schritt besteht darin, einen bestimmten Befehl in die Kommandozeile einzugeben.
Für Windows 7, Windows Server 2008 R2, Windows Server 2008 oder Windows Vista, geben Sie den folgenden Befehl ein und drücken Sie Enter:
pkgmgr /iu:"TelnetClient"
Für Windows 8 und höher, geben Sie diesen Befehl ein und drücken Sie Enter:
dism /online /Enable-Feature /FeatureName:TelnetClient
Warten Sie, bis die Installation abgeschlossen ist. Bei neueren Versionen des Windows-Betriebssystems sollten Sie eine Bestätigungsmeldung erhalten.
Installation über PowerShell
Eine weitere Möglichkeit ist die Verwendung von PowerShell zur Installation des Telnet-Clients. Dies gilt jedoch nur für Windows 8.1, Windows 10, Windows Server 2012 R2 oder höher.
Öffnen Sie das PowerShell-Administratorfenster, geben Sie den folgenden Befehl ein und drücken Sie Enter.
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient
Warten Sie, bis die Installation abgeschlossen ist.
Installation über die Systemsteuerung
Schließlich können Sie den Telnet-Client über die Systemsteuerung installieren. Suchen Sie dazu Programme (oder Programme und Features) und öffnen Sie es. Suchen Sie Windows-Funktionen aktivieren oder deaktivieren und klicken Sie darauf. Sie sehen ein Feld Windows-Funktionen. Suchen Sie Telnet-Client und markieren Sie das Kontrollkästchen. Drücken Sie dann OK. Warten Sie, bis die Installation abgeschlossen ist, und starten Sie den Computer neu, um die Änderungen zu übernehmen.
Weitere Installationsoptionen finden Sie in der Microsoft-Dokumentation.
Senden der E-Mails
Der E-Mail-Versandprozess folgt der Logik und Reihenfolge der SMTP-Übertragung: Handshake, Übertragung und Beendigung der Sitzung. Er verwendet SMTP-Befehle und verbindet sich über einen TCP-Port mit dem Server. Weitere Informationen zum SMTP-Betrieb finden Sie in diesem Blogbeitrag.
Hinweis: Telnet ist keine sichere Methode zum Senden einer E-Mail. Es stellt eine unverschlüsselte Verbindung her, da es SSL oder TLS nicht unterstützt. Das bedeutet, dass jeder mit Zugriff auf Ihr Netzwerk die Übertragung abfangen und auf den Inhalt Ihrer Nachricht zugreifen kann.
Sie können sich auch nicht mit Authentifizierung bei SMTP-Servern anmelden, da die meisten von ihnen eine TLS- oder SSL-Verschlüsselung erfordern, bevor sie die Authentifizierungsmethoden LOGIN und PLAIN zulassen (Authentifizierung ohne TLS ist nur auf Test-SMTP-Servern erlaubt). Sie sollten OpenSSL anstelle von Telnet verwenden, um sich mit Verschlüsselung bei SMTP-Servern anzumelden. Wir werden OpenSSL weiter unten besprechen.
Aus all diesen Gründen werden wir den „E-Mail-Versand“ tatsächlich an die Mailtrap E-Mail-Sandbox behandeln, die ein zu Testzwecken verwendeter Fake-SMTP ist.
Um eine SMTP-Sitzung zu starten, benötigen Sie den vollständigen Domainnamen oder die IP-Adresse des SMTP-Servers, mit dem Sie sich verbinden möchten. Wie gesagt, wir verwenden die E-Mail-Sandbox von Mailtrap und geben ein: sandbox.smtp.mailtrap.io
.
Sie müssen auch den Port identifizieren, der 25, 587, 465 oder 2525 sein kann. Die Portnummer hängt von den Konfigurationen des SMTP-Servers ab, mit dem Sie sich verbinden möchten. Die meisten SMTP-Server blockieren Übertragungen über Port 25. Die Ports 587 und 2525 sollten mit TLS-Verschlüsselung verwendet werden.
Geben Sie den Befehl ein:
telnet sandbox.smtp.mailtrap.io 2525
Hinweis: Die E-Mail-Sandbox von Mailtrap akzeptieren keine Telnet-Verbindungen über Port 25. Sie müssen Port 2525 verwenden.
Sie sehen die Antwort beginnend mit Code 220, wenn die Verbindung erfolgreich ist. Zum Beispiel:
220 sandbox.smtp.mailtrap.io ESMTP server ready
Der nächste Schritt besteht darin, sich beim SMTP-Host zu identifizieren.
EHLO beispiel.com or HELO beispiel.com
Hinweis: Der Befehl HELO initiiert eine SMTP-Verbindung ohne Diensterweiterungen. Daher werden entsprechende ESMTP-Befehle (wie z. B. STARTTLS) nicht unterstützt.
Alle unterstützten SMTP-Erweiterungen werden in der Antwort aufgelistet. Jede Zeile beginnt mit 250, was eine erfolgreiche Verbindung anzeigt.
250-sandbox.smtp.mailtrap.io
250-PIPELINING
250-SIZE 10485760
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Dann können Sie fortfahren und die notwendigen E-Mail-Felder gemäß der SMTP-Spezifikation übertragen. Geben Sie zuerst MAIL FROM
ein, dann RCPT TO
und dann DATA
.
MAIL FROM: <absender@beispiel.com>
250 2.1.0 Sender OK
RCPT TO: <empfaenger@beispiel.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: absender@beispiel.com
To: empfaenger@beispiel.com
Subject: Telnet E-Mail
Dies ist meine erste Testnachricht, gesendet mit dem Telnet-Client unter Windows
.
250 2.0.0 Ok: queued as ABC123456789
Um die Sitzung zu beenden, sollten Sie den Befehl QUIT
eingeben. Der Server antwortet mit 221 2.0.0 Service closing transmission channel
, und die Verbindung wird beendet.
Ein vollständiges Beispiel sieht etwa so aus:
telnet sandbox.smtp.mailtrap.io 2525
220 sandbox.smtp.mailtrap.io ESMTP server ready
EHLO beispiel.com
250-sandbox.smtp.mailtrap.io Hallo
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST
MAIL FROM: <absender@beispiel.com>
250 2.1.0 Sender OK
RCPT TO: <empfaenger@beispiel.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: absender@beispiel.com
To: empfaenger@beispiel.com
Subject: Telnet E-Mail
Dies ist meine erste Testnachricht, gesendet mit dem Telnet-Client unter Windows
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel
Um zu lernen, wie man Test-E-Mails mit Telnet unter Windows sendet, schauen Sie sich unser spezielles Tutorial an:
E-Mails mit Telnet unter Linux senden
Das Senden von E-Mails mit Telnet auf einer Linux-Konsole ist größtenteils ähnlich wie unter Windows. Der Unterschied besteht nur im Installationsprozess.
Voraussetzungen
- Jede Version der Linux-Distribution
- Administratorzugriff über Root-Benutzer oder Sudo-Befehl
- Telnet
- Funktionierender Mailserver
Installation des Telnet-Clients
Wenn der Telnet-Client nicht auf Ihrer Maschine installiert ist, können Sie ihn über Ihren Paketmanager installieren. Spezifische Befehle unterscheiden sich je nach verwendeter Linux-Distribution.
Für Arch Linux und Manjaro, geben Sie den folgenden Befehl im Terminalfenster ein und drücken Sie Enter:
$ sudo pacman -S inetutils
Für Ubuntu, Kali Linux, Debian und Linux Mint:
$ sudo apt install telnet
Für Red Hat, Fedora und CentOS:
$ sudo dnf install telnet
Sie werden aufgefordert, Ihr Administratorpasswort einzugeben. Geben Sie es ein und drücken Sie erneut Enter. Warten Sie, bis die Installation abgeschlossen ist.
Senden der E-Mails
Um mit dem Senden von E-Mails zu beginnen (wieder senden wir an die Mailtrap E-Mail-Sandbox für Email-Tests), starten Sie die Telnet-Sitzung mit diesem Befehl:
$ telnet sandbox.smtp.mailtrap.io 25
Fahren Sie dann wie oben beschrieben fort. Vergessen Sie nicht, die genaue Reihenfolge der SMTP-Befehle einzuhalten, andernfalls wird die Übertragung nicht erfolgreich sein. Wenn Sie einen der Befehle falsch schreiben, können Sie keine Korrekturen mit der Rücktaste vornehmen. Es wird empfohlen, Enter zu drücken, auf die Fehlermeldung zu warten und anschließend einen korrekten Befehl zu senden.
Um zu lernen, wie man Test-E-Mails mit Telnet unter Linux sendet, schauen Sie sich unser spezielles Tutorial an:
E-Mail-Nachrichten mit HTML-Textkörper und Anhängen an mehrere Empfänger senden
Es ist auch möglich, HTML-E-Mails mit Telnet zu senden. Dafür müssen Sie den Content-Type
als text/html
oder multipart/alternative
definieren. Dieser Teil sollte nach dem DATA
-Befehl in Ihre E-Mail eingefügt werden.
DATA
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="peaches";
--peaches
Content-Type: text/plain
Dies ist eine reine Textnachricht, gesendet mit Telnet
--peaches
Content-Type: text/html
<h1>Dies ist eine HTML-Nachricht, gesendet mit Telnet</h1>
--peaches--
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel
Senden wir nun eine E-Mail mit einem Anhang. Um diese Aufgabe zu erledigen, müssen wir die Nachricht mit MIME formatieren. Der Content-Type
sollte als multipart/mixed
definiert werden, um dem E-Mail-Server mitzuteilen, dass die E-Mail mehrere Teile, einschließlich eines Anhangs, enthalten wird. Der Content-Disposition
-Header wird den Anhang selbst enthalten.
DATA
From: absender@beispiel.com
To: empfaenger@beispiel.com
Subject: Telnet E-Mail mit Anhängen
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=boundary_9876
--boundary_9876
Content-Type: text/plain
Dies ist der Textkörper der E-Mail-Nachricht.
--boundary_9876
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="mylovelycat.jpg"
Dies ist der Inhalt des Anhangs.
--boundary_9876--
.
QUIT
Senden wir schließlich E-Mails an mehrere Empfänger. Das ist der einfachste Teil von allen. Wir müssen nur den Befehl RCPT TO
mehrmals senden und die Adressen der Empfänger nach dem DATA
-Befehl in das Feld An einfügen. Zum Beispiel:
MAIL FROM: <absender@beispiel.com>
250 2.1.0 Sender OK
RCPT TO: <empfaenger1@beispiel.com>
250 2.1.5 Recipient OK
RCPT TO: <empfaenger2@beispiel.com>
250 2.1.5 Recipient OK
RCPT TO: <empfaenger3@beispiel.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: absender@beispiel.com
To: empfaenger1@beispiel.com, empfaenger2@beispiel.com, empfaenger3@beispiel.com
Subject: Telnet E-Mail an mehrere Empfängers
Kann man E-Mails mit Telnet über kostenlose SMTP-Server senden?
Ja und nein.
Sie können mit der Telnet-Konsole keine E-Mails an kostenlose SMTP-Server über Port 25 senden. Wie oben erwähnt, wird dieser von den meisten E-Mail-Clients blockiert. Wenn Sie also eine E-Mail an Gmail, Yahoo oder Microsoft Outlook senden möchten, müssen Sie Port 587 verwenden.
Selbst dann kann die Verbindung nur zum Testen eines bestimmten Ports oder eines Teils der Verbindung verwendet werden. Telnet unterstützt keine SSL- oder TLS-Verschlüsselung, daher sind die Chancen gering, dass Sie E-Mails erfolgreich senden können. Wir konnten keine E-Mails senden, indem wir uns mit den SMTP-Servern von Gmail, Outlook und Yahoo verbunden haben.
Um die Verbindung an verschiedenen Ports zu testen, können Sie einfach die Befehle telnet smtp.gmail.com 587
, telnet smtp-mail.outlook.com 587
oder telnet smtp.mail.yahoo.com 465
verwenden. Wenn die Antwort 220 lautet, zeigt dies an, dass mit den angegebenen Ports kein Problem besteht.
Fehlerbehebung bei häufigen Telnet-Fehlern
Wenn in Ihrer SMTP-Sitzung etwas schiefgeht, erhalten Sie Fehlermeldungen. Durch deren Interpretation können Sie verstehen, wo das Problem mit der Verbindung oder dem SMTP-Server liegt.
Hier ist eine Liste der häufigsten Fehler und wie man sie behebt:
- 550 Ungültiger Empfänger – tritt normalerweise auf, wenn die E-Mail-Adresse des Empfängers falsch ist oder nicht existiert. Die Lösung besteht darin, nach Tippfehlern zu suchen oder eine andere Adresse zu verwenden, um sie zu erreichen;
- 535 Authentifizierung fehlgeschlagen – Sie sehen diesen Fehler, wenn der SMTP-Server den Telnet-Client nicht authentifizieren kann. Häufige Ursachen sind falsche Benutzernamen/Passwörter und ungültige Authentifizierungsmethoden. Stellen Sie sicher, dass Sie die richtigen Anmeldeinformationen verwenden. Überprüfen Sie auch die Liste der unterstützten Befehle bei der Auswahl zwischen den Authentifizierungsmethoden LOGIN und PLAIN.
- Verbindung geschlossen oder Zeitüberschreitung – Sie sehen diese Fehler, wenn der Telnet-Client keine Verbindung zum SMTP-Server herstellen kann. Dies liegt typischerweise an einem Netzwerkproblem, einer falschen Portnummer oder einer Firewall, die die Verbindung blockiert. Problemumgehungen umfassen das Ausprobieren verschiedener Ports, die Überprüfung Ihrer Netzwerkverbindung, die Überprüfung der SMTP-Konfiguration und das Deaktivieren der Firewall auf Ihrem Host.
- 502 Nichterkannter Befehl – tritt auf, wenn ein falscher Befehl verwendet wird. Um das Problem zu lösen, überprüfen Sie die von Ihnen verwendeten Befehle sorgfältig. Drücken Sie Enter, um einen neuen Befehl einzugeben. Denken Sie daran, dass Rücktaste und Entf-Taste nicht funktionieren, sobald die Verbindung hergestellt ist.
- 421 Dienst nicht verfügbar – dieser Fehler tritt normalerweise auf, wenn der SMTP-Server nicht verfügbar ist oder die Anfrage nicht bearbeiten kann. Dies kann auf einen Netzwerkausfall oder Wartungsarbeiten am Server zurückzuführen sein. Zur Fehlerbehebung können Sie warten und es erneut versuchen, Ihre Netzwerkverbindung überprüfen oder die SMTP-Konfiguration verifizieren.
Gibt es eine Alternative zum Senden von E-Mails mit Telnet?
Wie oben erwähnt, ist Telnet keine sichere Methode zum Senden von E-Mails. Selbst wenn Ihr gewählter SMTP-Server Ihnen die Verwendung von SMTP AUTH
ohne SSL/TLS erlaubt (höchstwahrscheinlich wird dies kein Live-SMTP-Server tun), sind Ihre Anmeldeinformationen immer noch für jeden sichtbar, der mit demselben Netzwerk verbunden ist.
Außerdem werden Ihre Anmeldeinformationen nur mit Base64 verschlüsselt, was recht einfach zu entschlüsseln ist. Das macht Sie anfällig für Angriffe. Wenn Ihre Anmeldeinformationen kompromittiert werden, können Angreifer leicht gefälschte E-Mails senden oder den Inhalt Ihrer E-Mail-Nachrichten lesen.
Darüber hinaus benötigen Sie für die Verwendung des Befehls SMTP AUTH
unter Windows eine Basisauthentifizierung. Leider hat Microsoft die Basisauthentifizierung für neue Mandanten veraltet erklärt, was bedeutet, dass Sie keine SMTP-Authentifizierung von neueren Windows-Versionen durchführen können. Dies zwingt Sie, die Sitzung ohne SMTP AUTH
abzuschließen.
Deshalb wird Telnet normalerweise verwendet, um Test-E-Mails zu senden, SMTP-Verbindungen zu debuggen oder zu überprüfen, ob der SMTP-Server oder Exchange Server über Port 25 erreichbar ist. Sie sollten Telnet niemals zum Senden von E-Mails in der Produktion verwenden. Und selbst wenn Sie nur E-Mail-Server testen möchten, gibt es bessere Alternativen auf dem Markt, wie OpenSSL und Mailtrap.
OpenSSL – Telnet-Alternative für verschlüsselten E-Mail-Versand
OpenSSL ist ein Open-Source-Kommandozeilentool, das SSL/TLS-Verschlüsselung unterstützt. Installationsanweisungen für Windows, Linux und andere Betriebssysteme finden Sie in der offiziellen Dokumentation. Unter Windows können Sie auch den Installer herunterladen. Unter Linux können Sie Basis-Repositories verwenden und OpenSSL mit den folgenden Befehlen installieren:
- Ubuntu, Debian, Kali Linux, Linux Mint:
sudo apt-get install openssl
- Red Hat, Fedora, CentOS:
sudo dnf install openssl
- Arch Linux, Manjaro:
sudo pacman -Sy openssl
Sobald die Installation abgeschlossen ist, verwenden Sie die folgende Zeile, um sich mit dem SMTP-Server zu verbinden:
openssl.exe s_client -starttls smtp -connect sandbox.smtp.mailtrap.io:25
Dann können Sie den Server begrüßen und sich mit EHLO
identifizieren, wie wir es mit Telnet getan haben. Fahren Sie mit dem Befehl STARTTLS
fort und authentifizieren Sie sich mit den Befehlen AUTH LOGIN
oder AUTH PLAIN
.
OpenSSL kann sowohl für Staging- als auch für Produktionsumgebungen verwendet werden. OpenSSL wird jedoch nicht für den Versand großer E-Mail-Mengen empfohlen.
Mailtrap – Telnet-Alternative zum Testen und Senden großer E-Mail-Mengen
Mailtrap ist eine Plattform zum Testen, Senden und Kontrollieren der Leistung Ihrer Infrastruktur. Es hat zwei Lösungen: Email-Sandbox von Mailtrap und der E-Mail API/SMTP von Mailtrap.
Die E-Mail-Sandbox von Mailtrap ermöglicht es Ihnen, Ihre E-Mails im Staging sicher überprüfen können, ohne Empfänger zu spammen.
Mit den E-Mail-Sandbox können Sie ein SMTP-Relay oder einen SMTP-Server testen, indem Sie eine E-Mail an einen virtuellen Posteingang senden. Sie müssen lediglich die E-Mail-Adresse des Posteingangs als Empfänger eingeben und können Sendeprobleme leicht beheben.

Darüber hinaus stellen die E-Mail-Sandbox die Anmeldeinformationen des Fake-SMTP-Servers bereit, sodass Sie ihn problemlos in Ihre App integrieren können. Für mehr Flexibilität und automatisierte Tests können Sie SDKs oder vorgefertigte Code-Snippets verwenden.
Sobald die E-Mail-Sandbox integriert sind, können Sie HTML/CSS überprüfen, Ihre E-Mails in der Vorschau anzeigen, die technischen Informationen zur Validierung der Header überprüfen und den Spam-Score inspizieren. All dies ist ohne die Sicherheitsprobleme von Telnet verfügbar.
Wenn alle Tests abgeschlossen sind, können Sie mit dem E-Mail-API/SMTP von Mailtrap große Mengen an E-Mails in der Produktion versenden – eine Infrastruktur mit von Haus aus hohen Zustellraten. Sie kann über einen SMTP-Dienst oder eine RESTful-API in Ihre App integriert werden, was eine einfache und reibungslose Einrichtung ermöglicht.
Nach dem Senden der E-Mails können Sie deren Leistung mit der Funktion „Umsetzbare Analysen“ des E-Mail-API/SMTP von Mailtrap überwachen. Sie können wichtige E-Mail-Kennzahlen verfolgen oder unerwartete Sendeprobleme beheben, falls sie auftreten.

Zusammenfassung
Das war’s! Jetzt wissen Sie, wie Sie E-Mails mit Telnet von Windows und Linux senden können. Sie können einfache E-Mail-Nachrichten senden oder einen HTML-Textkörper und sogar Anhänge hinzufügen.
Denken Sie daran, Sie sollten vermeiden, E-Mails mit Telnet in der Produktion zu senden, um Sicherheitsprobleme und Schwachstellen zu vermeiden. Die Verwendung anderer Tools wie der E-Mail-Zustellungsplattform von Mailtrap ist wesentlich vernünftiger. Wenn Ihnen unsere Tutorials gefallen, lesen Sie unsere Anleitungen zum Senden von E-Mails mit PowerShell oder zum Senden von E-Mails mit SMTP.