Testen Sie die SMTP-Verbindung mit einer manuellen Telnet-Sitzung

Veröffentlicht: 2022-04-04

Serveranbieter wie DigitalOcean, AWS, Vultr und andere blockieren den ausgehenden Port 25 Ihrer E-Mail, um zu verhindern, dass Spam durchkommt. Sie können sie jedoch jederzeit bitten, die Blockierung aufzuheben. Wenn Sie herausfinden möchten, ob Ihr Port 25 blockiert wurde, können Sie eine manuelle Telnet-Sitzung verwenden, um die SMTP-Verbindung zu testen.

SMTP-Verbindungsfehler können auf verschiedene Weise behoben werden, aber die Befehlszeile kann sie direkt erkennen. Telnet wird normalerweise zum Testen von SMTP-Verbindungsfehlern verwendet. In den folgenden Schritten verwenden wir Telnet, um den E-Mail-Server zu testen. Ein entscheidender Teil der Einrichtung eines E-Mail-Servers besteht darin, sicherzustellen, dass SMTP über die Befehlszeile (Linux) funktioniert.

Telnet ist die am häufigsten verwendete Methode zum Überprüfen von SMTP über die Befehlszeile. Dies ist auch die gebräuchlichste Methode zum Testen von SMTP-Relay.

Inhaltsverzeichnis

Was ist SMTP?

SMTP ist ein textbasiertes, verbindungsorientiertes Protokoll, bei dem ein E-Mail-Sender eine Verbindung zu einem E-Mail-Empfänger herstellt, indem er Befehlszeichenfolgen sendet und die erforderlichen Daten über einen zuverlässigen geordneten Datenstromkanal liefert, häufig eine TCP-Verbindung (Transmission Control Protocol).

Eine SMTP-Sitzung besteht aus Befehlen von einem SMTP-Client (dem initiierenden Agenten, Sender oder Sender) und Antworten von einem SMTP-Server (dem überwachenden Agenten oder Empfänger), die die Sitzung initiieren und Sitzungsparameter austauschen. In einer Sitzung können null oder mehr SMTP-Transaktionen vorhanden sein. Drei Befehls-/Antwortsequenzen bilden eine SMTP-Transaktion:

  1. MAIL-Befehl, auch bekannt als Return-Path, Reverse-Path, Bounce-Adresse, Mfrom oder Envelope-Sender, um die Rücksendeadresse festzulegen.
  2. Um einen Nachrichtenempfänger festzulegen, verwenden Sie den RCPT-Befehl. Dieser Befehl kann beliebig oft wiederholt werden, einmal für jeden Empfänger. Der Umschlag hat auch diese Adressen.
  3. DATA, um den Beginn des Nachrichtentextes anzuzeigen; den Inhalt der Nachricht, im Gegensatz zu ihrem Umschlag. Es besteht aus einer leeren Zeile zwischen einem Nachrichtenkopf und einem Nachrichtentext. Der Server antwortet zweimal: zuerst auf die DATA-Anweisung selbst, indem er bestätigt, dass er bereit ist, den Text zu empfangen, und erneut nach der Ende-der-Daten-Sequenz, indem er die vollständige Nachricht akzeptiert oder zurückweist.

Was ist eine Telnet-Sitzung?

Telnet ist ein Netzwerkprotokoll für den Fernzugriff auf einen Computer und den Aufbau eines bidirektionalen, kollaborativen, textbasierten Kommunikationskanals zwischen zwei Computern.

Es erstellt Remote-Sitzungen unter Verwendung des Netzwerkprotokolls Transmission Control Protocol/Internet Protocol (TCP/IP), das vom Benutzer gesteuert wird. Hypertext Transfer Protocol (HTTP) und File Transfer Protocol (FTP) im Web erlauben Benutzern einfach, bestimmte Dateien von weit entfernten Computern anzufordern, während Telnet es Benutzern ermöglicht, sich als normaler Benutzer mit den Privilegien anzumelden, die den spezifischen Anwendungen und Daten darauf zugewiesen sind Computer.

Telnet wird am häufigsten von Programmierern und allen verwendet, die auf bestimmte Apps oder Daten auf einem Remote-Computer zugreifen müssen.

Wie funktioniert Telnet?

Telnet ist ein Client-Server-Protokoll zum Öffnen einer Befehlszeile auf einem entfernten Computer, normalerweise einem Server. Dieses Dienstprogramm kann verwendet werden, um einen Port zu pingen und festzustellen, ob er geöffnet ist. Telnet verwendet einen Emulator für virtuelle Terminalverbindungen, bei dem es sich um eine abstrakte Instanz einer Computerverbindung handelt, die Standardprotokolle verwendet, um sich wie ein physisches Terminal zu verhalten, das an ein System angeschlossen ist. Für Benutzer, die Datendateien austauschen müssen, können FTP und Telnet zusammen verwendet werden.

Telnet ermöglicht es Benutzern, sich remote mit einem Computer zu verbinden, was oft als Telnetting in das System bezeichnet wird. Sie müssen ihre Kombination aus Benutzeranmeldeinformationen angeben, um Zugriff auf den Remotecomputer zu erhalten, wodurch sie Befehlszeilen ausführen können, als ob sie physisch am Computer anwesend wären. Die IP-Adressen der Benutzer stimmen unabhängig von ihrem physischen Standort mit dem Computer überein, an dem sie angemeldet sind, und nicht mit dem, mit dem sie sich angemeldet haben.

Wozu dient Telnet?

Telnet kann verwendet werden, um eine Reihe von Aufgaben auf einem Server auszuführen, einschließlich Dateibearbeitung, Programmausführung und E-Mail-Überprüfung.

Einige Server erlauben Fernverbindungen über Telnet zu öffentlichen Daten, um einfache Spiele zu spielen oder nach Wettervorhersagen zu suchen. Viele dieser Funktionen existieren, weil sie nostalgisch sind oder weil sie noch mit früheren Systemen kompatibel sind, die bestimmte Daten benötigen.

Telnet ermöglicht es Benutzern auch, sich mit jeder Software zu verbinden, die textbasierte, unverschlüsselte Protokolle verwendet, wie z. B. Webserver und Ports. Benutzer können ein cmd auf dem Remote-Computer öffnen und telnet gefolgt vom Namen oder der IP-Adresse des Remote-Computers eingeben, und die Telnet-Sitzung pingt den Port an, um zu sehen, ob er geöffnet ist oder nicht. Ein leerer Bildschirm zeigt an, dass der Port offen ist, aber eine Fehlermeldung, die anzeigt, dass der Port verbunden ist, zeigt an, dass er geschlossen ist.

Sicherheit in Telnet

Telnet ist ein unsicheres, unverschlüsseltes Protokoll. Jeder kann den Benutzernamen, das Passwort und andere vertrauliche Informationen eines Benutzers anzeigen, die während einer Telnet-Sitzung im Klartext eingegeben wurden, indem er die Verbindung des Benutzers überwacht. Diese Informationen können verwendet werden, um Zugriff auf den Zielcomputer zu erhalten.

Testen Sie die SMTP-Verbindung mit Telnet

Wir werden zuerst einige Tests durchführen, um zu sehen, ob Ihr ausgehender Port 25 geöffnet ist oder nicht, im ersten Fall werden wir einen blockierten SMTP-Port 25 demonstrieren, im zweiten Fall werden wir durchgehen, indem wir eine E-Mail mit Telnet senden.

Fall 1: Port 25 gesperrt

Führen Sie in der Befehlszeile den folgenden Befehl aus (Sie müssen diesen Befehl auf einem Server ausführen, auf dem Sie E-Mail-Probleme haben):

 telnet <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

Wenn Sie eine Nachricht wie "TRYING ..." und sonst nichts erhalten, bedeutet dies, dass Ihr ausgehender Port 25 blockiert ist und Sie keine E-Mail-Nachrichten von Ihrem Server senden können.

Fall 2: Wenn Port 25 geöffnet ist:

Wir müssen einen Mailserver finden, bei dem Sie sich anmelden können, wenn Sie die IP-Adresse des Mailservers nicht haben. Dazu benötigen wir den DNS-MX-Eintrag für eine bestimmte Domain. Dies kann mit dem folgenden Befehl gefunden werden

 nslookup -type=mx DOMAIN_NAME

SMTP verwendet einen von drei Ports: 25, 465 oder 587, die häufig von Microsoft Outlook verwendet werden. Wenn Ihr SMTP-Relay einen anderen Port als 25 verwendet, verwenden Sie den Port, der in der nslookup-Antwort vom Mail Exchange-Server angegeben ist. Sie können entweder Ihren Administrator fragen oder auf den Mail Exchange-Server gehen und sich die Protokolle ansehen, um zu sehen, welchen Port Ihr SMTP verwendet.

So melden Sie sich beim SMTP-Server an:

 telnet <IP_ADDRESS_OF_MAIL_SERVER> <PORT>

Wenn Sie verbunden sind, können Sie mit dem Senden von E-Mails fortfahren

Der EHLO- oder HELO-Befehl ist der erste Befehl, den wir für unseren SMTP-E-Mail-Tester an den Mailserver senden müssen. Dies ist eine einfache Begrüßung, die die Konversation des Telnet-Clients mit dem SMTP-Server beginnt.

 EHLO <DOMAIN_NAME>
Testen Sie die SMTP-Verbindung

Hier werden die SMTP-Befehle angezeigt, die der SMTP-Server akzeptiert.

Der MAIL FROM-Befehl ist der nächste Befehl, den wir wirklich ausführen müssen. Dadurch wird die Adresse bestimmt, an die Bounces gesendet werden.

 MAIL VON: <[email protected]>

Wir können jetzt den RCPT TO-Befehl senden, nachdem der MAIL FROM-Befehl ausgegeben wurde. Dieser Befehl weist den SMTP-Mailserver an, die Nachricht an den angegebenen Empfänger zu senden.

 RCPT TO: <[email protected]> 

Der DATA-Befehl ist der letzte auszuführende Befehl, bevor mit dem Nachrichtentext begonnen wird. Dieser Befehl informiert den SMTP-Mailserver darüber, dass der Rest der Nachricht als Nachrichtentext übertragen wird.

 DATEN 

Geben Sie den Betreff ein: <BETREFF> und drücken Sie die Eingabetaste.

Geben Sie < Testnachricht > ein und drücken Sie die Eingabetaste.

Wenn die Nachricht fertig ist, müssen wir den SMTP-Server darüber informieren, dass wir damit fertig sind und dass der SMTP-Mailserver sie akzeptieren soll. Dies wird erreicht, indem ein Punkt auf einer einzelnen Zeile platziert wird. Wenn beim Schreiben einer Nachricht ein Punkt in einer einzelnen Zeile erforderlich ist, verwenden Sie zwei Punkte, wobei der erste den zweiten maskiert.

.

Es erscheint die Meldung OK, gefolgt von einem ID-Code. Ihre Nachricht wurde zugestellt.

Kehren Sie zum Telnet-Fenster zurück, geben Sie quit ein, um die SMTP-Serververbindung zu beenden, und beenden Sie dann quit, um die Telnet-Sitzung zu beenden.

 VERLASSEN 

Fazit

Wenn Sie den Test abschließen, können Sie sicher sein, dass mit Ihrem E-Mail-Server oder der Adresse und den Informationen, die Sie für den Zugriff darauf verwendet haben, alles in Ordnung ist.

Wenn der SMTP-Server Sie darüber informiert hat, dass die ursprüngliche E-Mail-Adresse ungültig ist, haben Sie sie möglicherweise falsch eingegeben. Es ist auch möglich, dass etwas mit Ihrem E-Mail-Konto nicht stimmt, weshalb Sie es in Ihrem neuen E-Mail-Client nicht zum Laufen bringen können.

Hoffentlich hilft Ihnen das Testen Ihres SMTP-Servers über Telnet, während Sie sich nicht in Ihrem neuen E-Mail-Client befinden, alle möglichen Ursachen für Ihre E-Mail-Probleme einzugrenzen.