Testen der SMTP-Kommunikation auf Exchange-Servern mithilfe von Telnet

[Dieses Thema gehört zur Vorabdokumentation und kann in künftigen Versionen geändert werden. Leere Themen wurden als Platzhalter hinzugefügt. Wenn Sie Feedback dazu haben, freuen wir uns über Ihre Nachricht. Senden Sie uns eine E-Mail an: ExchangeHelpFeedback@microsoft.com.]  

Gilt für:Exchange Server 2016

Erfahren Sie, wie Sie Telnet zum Testen der SMTP-Konnektivität und des Nachrichtenflusses auf Exchange-Servern verwenden.

Sie können Telnet zum Testen der SMTP-Kommunikation (Simple Mail Transfer Protocol) zwischen Messagingservern verwenden. SMTP ist das Protokoll, das zum Senden von E-Mail-Nachrichten von einem Messagingserver zu einem anderen verwendet wird. Die Verwendung von Telnet kann hilfreich sein, wenn Sie Probleme beim Senden oder Empfangen von Nachrichten haben, da Sie manuell SMTP-Befehle an einen Messagingserver senden können. Im Gegenzug gibt der Server Antworten zurück, die bei einer typischen Verbindung zurückgegeben würden. Diese Ergebnisse können manchmal hilfreich sein, um herauszufinden, warum keine Nachrichten gesendet oder empfangen werden können.

Sie können Telnet zum Testen der SMTP-Kommunikation für Folgendes verwenden:

  • Testen des Nachrichtenflusses vom Internet zu Ihrer Exchange-Organisation.

  • Testen des Nachrichtenflusses von Ihrer Exchange zu einem anderen Messagingserver im Internet.

tipTipp:
Wussten Sie, dass Sie anstelle von Telnet auch die Microsoft-Remoteverbindungsuntersuchung unter https://testconnectivity.microsoft.com/ zum Testen der SMTP-Konnektivität verwenden können? Bei der Remoteverbindungsuntersuchung können Sie den gewünschten Konnektivitätstest, in diesem Fall Eingehende SMTP-E-Mail-Nachrichten, auswählen, und die angezeigten Anweisungen befolgen. Sie werden durch die Informationen geführt, die Sie eingeben müssen, der Test wird für Sie durchgeführt, und Sie erhalten dann die Ergebnisse. Probieren Sie es aus.

  • Geschätzte Zeit bis zum Abschließen des Vorgangs: 15 Minuten

  • Exchange-Berechtigungen gelten nicht für die Verfahren in diesem Thema. Diese Verfahren erfolgen im Betriebssystem des Exchange Server-Computers oder eines Clientcomputers.

  • In diesem Thema wird gezeigt, wie Sie den Telnet-Client verwenden, der in Windows enthalten ist. Für Telnet-Clients von Drittanbietern ist möglicherweise eine Syntax erforderlich, die sich von der in diesem Thema gezeigten Syntax unterscheidet.

  • Die Schritte in diesem Thema zeigen, wie Sie mithilfe von TCP-Port 25 eine Verbindung zu einem Internetserver herstellen, der anonyme Verbindungen zulässt. Wenn Sie versuchen, eine Verbindung zu diesem Server aus dem Internet herzustellen, müssen Sie sicherstellen, dass ihr Exchange Server-Computer an TCP-Port 25 aus dem Internet erreicht werden kann. Wenn Sie in ähnlicher Weise versuchen, einen Server im Internet von Ihrem Exchange Server-Computer aus zu erreichen, müssen Sie sicherstellen, dass Ihr Exchange Server-Computer eine Verbindung mit dem Internet an TCP-Port 25 öffnen kann.

  • Sie haben wahrscheinlich bemerkt, dass einige Empfangsconnectors TCP-Port 25 verwenden. Dabei handelt es sich um interne Empfangsconnectors, die nicht zum Akzeptieren anonymer SMTP-Verbindungen verwendet werden.

  • Wenn Sie eine Verbindung auf einem Remotemessagingserver testen, sollten Sie die Schritte in diesem Thema auf Ihrem Exchange Server-Computer ausführen. Remotemessagingserver sind häufig so eingerichtet, dass sichergestellt wird, dass die IP-Adresse, von der die SMTP-Verbindung stammt, der Domäne in der E-Mail-Adresse des Absenders entspricht.

  • Informationen zu Tastenkombinationen für die Verfahren in diesem Thema finden Sie unter Tastenkombinationen in der Exchange-Verwaltungskonsole.

tipTipp:
Sie haben Probleme? Bitten Sie in den Exchange-Foren um Hilfe. Sie finden die Foren unter folgenden Links: Exchange Server, Exchange Online oder Exchange Online Protection.

Auf den meisten Versionen von Windows müssen den Telnet-Client installieren, bevor Sie ihn verwenden können. Installationsanweisungen finden Sie unter Installieren des Telnet-Clients.

Um mithilfe von Telnet an Port 25 eine Verbindung mit einem SMTP-Server herzustellen, müssen Sie den vollqualifizierten Domänennamen (FQDN) (z.B. „mail.contoso.com“) oder die IP-Adresse des SMTP-Servers verwenden. Wenn Sie den FQDN oder die IP-Adresse nicht kennen, können Sie das Befehlszeilentool Nslookup verwenden, um den MX-Datensatz für die Zieldomäne zu suchen.

noteHinweis:
Möglicherweise verhindern Netzwerkrichtlinien, dass Sie Nslookup zum Abfragen öffentlicher DNS-Server im Internet verwenden können. Alternativ können Sie einen der kostenlos verfügbaren Websites zur DNS-Suche oder zur Suche von MX-Datensätzen im Internet verwenden.
  1. Geben Sie an der Eingabeaufforderung nslookup ein, und drücken Sie die EINGABETASTE. Dieser Befehl öffnet die Nslookup-Sitzung.

  2. Geben Sie set type=mx ein, und drücken Sie die EINGABETASTE.

  3. Geben Sie den Namen der Domäne ein, für die Sie den MX-Datensatz suchen möchten. Um den MX-Datensatz für die Domäne „fabrikam.com“ zu suchen, geben Sie beispielsweise fabrikam.com. ein und drücken dann die EINGABETASTE.

    noteHinweis:
    Durch Verwendung eines nachstehenden Punkts (.) verhindern Sie, dass standardmäßige DNS-Suffixe unbeabsichtigt zum Domänennamen hinzugefügt werden.

    Die Ausgabe des Befehls sieht wie folgt aus:

    fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com
    fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com
    mail1.fabrikam.com internet address = 192.168.1.10
    mail2 fabrikam.com internet address = 192.168.1.20
    

    Sie können jeden beliebigen Hostnamen oder jede beliebige IP-Adresse verwenden, der bzw. die den MX-Datensätzen als SMTP-Zielserver zugeordnet ist. Ein niedrigerer Präferenzwert (Präferenz = 10 anstelle von 20) gibt einen bevorzugten SMTP-Server an. Mehrere MX-Datensätze und unterschiedliche Präferenzwerte werden für Lastenausgleich und Fehlertoleranz verwendet.

  4. Wenn Sie bereit sind, die Nslookup-Sitzung zu beenden, geben Sie exit ein und drücken dann die EINGABETASTE.

In diesem Beispiel werden wir die folgenden Werte verwenden. Wenn Sie die Befehle auf dem Server ausführen, ersetzen Sie diese Werte durch die des SMTP-Servers, der Domäne usw. Ihrer Organisation.

  • SMTP-Zielserver   mail1.fabrikam.com

  • Quelldomäne   contoso.com

  • E-Mail-Adresse des Absenders   chris@contoso.com

  • E-Mail-Adresse des Empfängers   kate@fabrikam.com

  • Nachrichtenbetreff   Test von Contoso

  • Nachrichtentext   Dies ist eine Testnachricht

tipTipp:
  • Bei den Befehlen im Telnet-Client wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die SMTP-Befehlsverben wurden in diesem Beispiel aus Gründen der Klarheit als Großbuchstaben formatiert.

  • Sie können die Rücktaste nicht in der Telnet-Sitzung verwenden, nachdem Sie eine Verbindung mit dem SMTP-Zielserver hergestellt haben. Wenn Ihnen beim Eingeben eines SMTP-Befehls ein Fehler unterläuft, müssen Sie die EINGABETASTE drücken und den Befehl dann erneut eingeben. SMTP-Befehle, die nicht erkannt werden, oder Syntaxfehler führen zu einer Fehlermeldung, die folgendermaßen aussieht:

    500 5.3.3 Unrecognized command

  1. Öffnen Sie ein Eingabeaufforderungsfenster, geben Sie telnet ein, und drücken Sie die EINGABETASTE.

    Dieser Befehl öffnet die Telnet-Sitzung.

  2. Geben Sie set localecho ein, und drücken Sie die EINGABETASTE.

    Mit diesem optionalen Befehl können Sie die Zeichen anzeigen, die Sie eingeben. Dieses Einstellung ist für einige SMTP-Server möglicherweise erforderlich.

  3. Geben Sie set logfile<filename> ein, und drücken Sie die EINGABETASTE.

    Dieser optionale Befehl aktiviert die Protokollierung der Telnet-Sitzung in der angegebenen Protokolldatei. Wenn Sie nur einen Dateinamen angeben, befindet sich die Protokolldatei im aktuellen Ordner. Wenn Sie einen Pfad und einen Dateinamen angeben, muss sich der Pfad auf dem lokalen Computer befinden. Möglicherweise müssen Sie den Pfad und den Dateinamen im Windows DOS 8.3-Format (kurzer Name ohne Leerzeichen) eingeben. Der Pfad muss vorhanden sein, aber die Protokolldatei wird automatisch erstellt.

  4. Geben Sie open mail1.fabrikam.com 25 ein, und drücken Sie die EINGABETASTE.

  5. Geben Sie EHLO contoso.com ein, und drücken Sie die EINGABETASTE.

  6. Geben Sie MAIL FROM:chris@contoso.com ein, und drücken Sie die EINGABETASTE.

  7. Geben Sie RCPT TO:kate@fabrikam.com NOTIFY=success,failure, ein, und drücken Sie die EINGABETASTE.

    Der optionale NOTIFY-Befehl gibt die jeweiligen DSN-Nachrichten (delivery status notification, Benachrichtigung über den Zustellungsstatus) (auch als Unzustellbarkeitsnachrichten oder Unzustellbarkeitsberichte bezeichnet) an, die SMTP bereitstellen muss. In diesem Fall fordern Sie eine DSN-Nachricht für eine erfolgreiche Nachrichtenzustellung bzw. eine Nachrichtenzustellung mit Fehler an.

  8. Geben Sie DATA ein, und drücken Sie dann die EINGABETASTE.

  9. Geben Sie Betreff: Test von Contoso ein, und drücken Sie die EINGABETASTE.

  10. Drücken Sie die EINGABETASTE erneut.

    Zwischen dem Subject:-Feld und dem Nachrichtentext ist eine leere Zeile erforderlich.

  11. Geben Sie Dies ist eine Textnachricht. ein, und drücken Sie dann die EINGABETASTE.

  12. Geben Sie einen Punkt (.) ein, und drücken Sie dann die EINGABETASTE.

  13. Um die Verbindung mit dem SMTP-Server zu trennen, geben Sie QUIT ein, und drücken Sie dann die EINGABETASTE.

  14. Um Ihre Telnet-Sitzung zu schließen, geben Sie quit ein und drücken dann die EINGABETASTE.

Nachfolgend sehen Sie, wie eine erfolgreiche Sitzung unter Verwendung der obigen Schritte aussieht:

C:\Windows\System32> telnet

Microsoft Telnet> set localecho
Microsoft Telnet> set logfile c:\TelnetTest.txt
Microsoft Telnet> OPEN mail1.fabrikam.com 25

220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at Fri, 5 Aug 2016 16:24:41 -0700
EHLO contoso.com
250-mail1.fabrikam.com Hello [172.16.0.5]
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: chris@contoso.com
250 2.1.0 Sender OK
RCPT TO: kate@fabrikam.com NOTIFY=success,failure
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Subject: test
This is a test message.
.
250 2.6.0 <c89b4fcc-3ad1-4758-a1ab-1e820065d622@mail1.fabrikam.com> [InternalId=5111011082268, Hostname=mail1.fabrikam.com] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel

Dieser Abschnitt enthält Informationen zu den Erfolgs- und Fehlerantworten auf die Befehle, die im vorherigen Beispiel verwendet wurden.

noteHinweis:
Die dreistelligen SMTP-Antwortcodes, die in RFC 5321 definiert sind, sind für alle SMTP-Messagingserver gleich. Die Textbeschreibungen in den Antworten können geringfügig abweichen.

SMTP-Server reagieren mit einer Vielzahl numerischer Antwortcodes im Format x.y.z auf Befehle. Dabei gilt:

  • X gibt an, ob der Befehl erfolgreich, fehlerhaft oder unvollständig war.

  • Y gibt die Art der Antwort an, die gesendet wurde.

  • Z stellt zusätzliche Informationen zu dem Befehl bereit.

Wenn eine Antwort von dem Server empfangen wird, der die Verbindung geöffnet hat, gibt diese Auskunft darüber, ob der Remoteserver den Befehl akzeptiert hat und bereit für den nächsten Befehl ist oder ob ein Fehler aufgetreten ist.

Die erste Ziffer (X) ist besonders wichtig, da sie die erfolgreiche oder fehlerhafte Ausführung des Befehls angibt, der gesendet wurde. Nachfolgend finden Sie die möglichen Werte sowie ihre Bedeutungen.

 

Antwortcode Bedeutung

2.y.z

Der Befehl, der gesendet wurde, wurde auf dem Remoteserver erfolgreich abgeschlossen. Der Remoteserver ist bereit für den nächsten Befehl.

3.y.z

Der Befehl wurde akzeptiert, aber der Remoteserver benötigt weitere Informationen, bevor der Vorgang abgeschlossen werden kann. Der sendende Server muss einen neuen Befehl mit den erforderlichen Informationen senden.

4.y.z

Der Befehl wurde vom Remoteserver aus einem möglicherweise temporären Grund nicht akzeptiert. Der sendende Server sollte den Verbindungsversuch später wiederholen, um festzustellen, ob der Remoteserver den Befehl erfolgreich akzeptieren kann. Der sendende Server wiederholt die Verbindung weiter, bis eine erfolgreiche Verbindung hergestellt wurde (gekennzeichnet durch den Code 2.y.z) oder die Verbindung dauerhaft fehlschlägt (gekennzeichnet durch den Code 5.y.z).

Ein Beispiel für einen temporären Fehler ist wenig Speicherplatz auf dem Remoteserver. Sobald mehr Speicherplatz zur Verfügung gestellt wird, sollte der Remoteserver in der Lage sein, den Befehl erfolgreich zu akzeptieren.

5.y.z

Der Befehl wurde vom Remoteserver aus einem nicht behebbaren Grund nicht akzeptiert. Der sendende Server wiederholt den Verbindungsversuch nicht und sendet einen Unzustellbarkeitsbericht an den Benutzer, der die Nachricht gesendet hat.

Ein Beispiel für einen nicht behebbaren Fehler ist eine Nachricht, die an eine E-Mail-Adresse gesendet wird, die es nicht gibt.

Die Tabelle oben basiert auf Informationen aus dem RFC 5321 (Simple Mail Transfer Protocol), Abschnitt 4.2.1. Weitere Informationen, einschließlich Beschreibungen der zweiten (Y) und dritten Ziffern (Z) von SMTP-Antwortcodes, sind in diesem Abschnitt sowie in den Abschnitten 4.2.2 und 4.2.3 enthalten.

Erfolgreiche Antwort 220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>

Fehlerantwort   Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed

Mögliche Fehlerursachen

  • Der SMTP-Zieldienst ist nicht verfügbar.

  • Für die Zielfirewall gelten Einschränkungen.

  • Für die Quellfirewall gelten Einschränkungen.

  • Es wurde ein falscher FQDN oder eine falsche IP-Adresse für den SMTP-Zielserver angegeben.

  • Falsche Portnummer.

Erfolgreiche Antwort 250 mail1.fabrikam.com Hello [<sourceIPaddress>]

Fehlerantwort   501 5.5.4 Invalid domain name

Mögliche Fehlerursachen

  • Ungültige Zeichen im Domänennamen.

  • Auf dem SMTP-Zielserver gelten Verbindungseinschränkungen.

noteHinweis:
EHLO ist das ESMTP-Verb (Extended Simple Message Transfer Protocol), das in RFC 5321 definiert ist. ESMTP-Server können ihre Funktionen während der anfänglichen Verbindung ankündigen. Diese Funktionen umfassen ihre maximal akzeptierte Nachrichtengröße sowie die unterstützten Authentifizierungsmethoden. HELO ist das ältere SMTP-Verb, das in RFC 821 definiert ist. Die meisten SMTP-Messagingserver unterstützen ESMTP und EHLO. Wenn der Nicht-Exchange-Server, zu dem Sie eine Verbindung herstellen möchten, EHLO nicht unterstützt, können Sie stattdessen HELO verwenden.

Erfolgreiche Antwort 250 2.1.0 Sender OK

Fehlerantwort   550 5.1.7 Invalid address

Mögliche Fehlerursachen   Die E-Mail-Adresse des Absenders enthält einen Syntaxfehler.

Fehlerantwort   530 5.7.1 Client was not authenticated

Mögliche Fehlerursachen   Der Zielserver akzeptiert keine anonymen Nachrichtenübermittlungen. Dieser Fehler wird angezeigt, wenn Sie versuchen, Telnet zum direkten Übermitteln einer Nachricht an einen Postfachserver zu verwenden, der keinen Empfangsconnector aufweist, der so konfiguriert ist, dass anonyme Verbindungen akzeptiert werden.

Erfolgreiche Antwort 250 2.1.5 Recipient OK

Fehlerantwort   550 5.1.1 User unknown

Mögliche Fehlerursachen   Der angegebene Empfänger ist nicht vorhanden.

 
Anzeigen: