Testen der SMTP-Verbindung mit Telnet

 

Gilt für: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Letztes Änderungsdatum des Themas: 2006-11-14

In diesem Thema wird erläutert, wie Sie Telnet zum Testen der SMTP-Kommunikation (Simple Mail Transfer Protocol) zwischen Messagingservern verwenden können. Standardmäßig überwacht SMTP Port 25. Wenn Sie Telnet für Port 25 verwenden, können Sie die SMTP-Befehle, die zum Herstellen einer Verbindung mit einem SMTP-Server und zum Senden einer Nachricht verwendet werden, genau so eingeben, als handele es sich bei Ihrer Telnet-Sitzung um einen SMTP-Messagingserver. Sie können den Erfolg oder Fehler jedes Schritts im Verbindungs- und Nachrichtenübermittlungsprozess erkennen.

Die folgende Liste beschreibt die Szenarien, in denen Sie ggf. Telnet zum Testen der SMTP-Kommunikation mit den Transportservern verwenden können, die in Ihrer Microsoft Exchange Server-Organisation vorhanden sind:

  • Stellen Sie von einem Host aus, der sich außerhalb des Umkreisnetzwerks befindet, eine Verbindung mit dem Edge-Transport-Server Ihrer Organisation her, und senden Sie eine Testnachricht.

  • Stellen Sie vom Edge-Transport-Server Ihrer Organisation aus eine Verbindung mit einem Remotemessagingserver her, und senden Sie eine Testnachricht.

Bevor Sie beginnen

Standardmäßig sind die Nachrichtenübermittlungsvorgänge zwischen Hub-Transport-Servern verschlüsselt und authentifiziert. Sie können Telnet nur an Port 25 zum Übermitteln von Nachrichten an einen internen Hub-Transport-Server verwenden, der einen Empfangsconnector besitzt, der für anonymen Zugriff oder Standardauthentifizierung zum Empfangen von Nachrichten konfiguriert ist. Anonymer Zugriff ist für mit dem Internet verbundene Server erforderlich. Wenn Sie eine Nachricht an einen Empfangsconnector senden, der Standardauthentifizierung akzeptiert, müssen Sie über ein Dienstprogramm zum Konvertieren der für den Benutzernamen und das Kennwort verwendeten Textzeichenfolgen in das Base64-Format verfügen. Da der Benutzername und das Kennwort unverschlüsselt gesendet werden, wenn Standardauthentifizierung verwendet wird, wird Standardauthentifizierung ohne Verschlüsselung nicht empfohlen.

Die mit dem Internet verbundenen SMTP-Messagingserver zahlreicher Organisationen sind so konfiguriert, dass die Quell-IP-Adresse, der entsprechende DNS-Domänenname (Domain Name System) und die Reverse-Lookup-IP-Adresse jedes Internet-Hosts überprüft werden, der versucht, eine Nachricht an den Server zu senden. Wenn Sie einen Testcomputer mit dem Internet verbinden und eine Testnachricht mithilfe von Telnet an Port 25 an einen Remotemessagingserver zu senden versuchen, wird Ihre Nachricht möglicherweise zurückgewiesen. Um die Sicherheitsanforderungen zu erfüllen, die der Remotemessagingserver ggf. verlangt, können Sie über Ihren Edge-Transport-Server eine Verbindung mit dem Remotemessagingserver herstellen. Die akzeptierten Domänen, die auf dem Edge-Transport-Server konfiguriert sind, verfügen über die entsprechenden DNS MX-Datensätze (Mail Exchange), A-Datensätze (Adressdatensätze) und Reverse-Lookup-Datensätze, die den Edge-Transport-Server als legitime und verfolgbare Quelle für E-Mail-Nachrichten für diese akzeptierten Domänen im Internet identifizieren.

Die Verfahren in diesem Thema zeigen, wie der Microsoft Telnet-Client verwendet wird, der im Lieferumfang von Microsoft Windows Server 2003 und Windows XP enthalten ist. Frühere Versionen von Windows oder Telnet-Clients von Drittanbietern verlangen ggf. eine andere Syntax. Bei den Befehlen im Windows Telnet-Client wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die SMTP-Befehlsverben wurden aus Gründen der Klarheit als Großbuchstaben formatiert.

Sie können die Rücktaste nicht verwenden, nachdem Sie in der Telnet-Sitzung 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 eine Fehlermeldung, die der folgenden Fehlermeldung ähnelt:

500 5.3.3 Unrecognized command

Verwenden des Befehlszeilentools Nslookup zum Ermitteln der IP-Adresse eines SMTP-Servers

Um mithilfe von Telnet an Port 25 eine Verbindung mit einem SMTP-Zielserver herzustellen, müssen Sie den vollqualifizierten Domänennamen (FQDN) oder die IP-Adresse des SMTP-Servers kennen. Die einfachste Methode zum Abrufen dieser Informationen besteht im Verwenden des Befehlszeilentools Nslookup, um den MX-Datensatz für die Zieldomäne zu suchen.

So verwenden Sie Nslookup zum Ermitteln der IP-Adresse eines SMTP-Servers

  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 set timeout=20 ein, und drücken Sie die EINGABETASTE. Standardmäßig weisen Windows DNS-Server einen Timeoutgrenzwert von 15 Sekunden für rekursive DNS-Abfragen auf.

  4. 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.

    Hinweis

    Der nachgestellte Punkt ( . ) zeigt einen FQDN an. Durch den nachgestellten Punkt wird verhindert, dass DNS-Standardsuffixe, die ggf. für Ihr Netzwerk konfiguriert sind, dem Domänennamen unbeabsichtigterweise hinzugefügt werden.

    Die Ausgabe des Befehls ähnelt der folgenden Ausgabe:

    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 mit den MX-Datensätzen als SMTP-Zielserver verknüpft ist. Ein niedrigerer Präferenzwert gibt einen bevorzugten SMTP-Server an. Sie können mehrere MX-Datensätze und unterschiedliche Präferenzwerte für Lastenausgleich und Fehlertoleranz verwenden.

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

Hinweis

Firewall- oder Internetproxyeinschränkungen, die für das interne Netzwerk Ihrer Organisation gelten, verhindern ggf. die Verwendung des Tools Nslookup zum Abfragen öffentlicher DNS-Server im Internet.
MX-Datensätze sind nicht unbedingt für die interne Nachrichtenübermittlung in einer Exchange-Organisation erforderlich. Wenn Sie den FQDN eines Hub-Transport-Servers oder eines abonnierten Edge-Transport-Servers in Ihrer Organisation ermitteln müssen, können Sie den folgenden Befehl in der Exchange-Verwaltungsshell verwenden: Get-ExchangeServer | where {$.isHubTransportServer -eq $true -or $.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole.
Weitere Informationen finden Sie unter Get-ExchangeServer und Pipelining.

Verwenden von Telnet an Port 25 zum Testen der SMTP-Kommunikation

Das in diesem Abschnitt beschriebene Verfahren zeigt, wie Telnet an Port 25 zum Testen der SMTP-Kommunikation verwendet wird. Das Verfahren verwendet die in der folgenden Liste beschriebenen Werte:

  • 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.

Hinweis

Sie sollten immer eine gültige E-Mail-Absenderadresse verwenden, damit alle Unzustellbarkeitsberichte, die ggf. vom SMTP-Zielserver generiert werden, an den Absender der Nachricht übermittelt werden.

So verwenden Sie Telnet an Port 25 zum Testen der SMTP-Kommunikation

  1. Geben Sie an einer Eingabeaufforderung 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 <Dateiname> ein. Dieser optionale Befehl aktiviert die Protokollierung der Telnet-Sitzung in der angegebenen Protokolldatei. Wenn Sie nur einen Dateinamen angeben, ist der Speicherort der Protokolldatei das aktuelle Arbeitsverzeichnis. Wenn Sie einen Pfad und einen Dateinamen angeben, muss der Pfad ein lokaler Computerpfad sein. Der von Ihnen angegebene Pfad und der Dateiname müssen im Microsoft DOS 8.3-Format eingegeben werden. Der angegebene Pfad muss bereits vorhanden sein. Wenn Sie eine noch nicht vorhandene Protokolldatei angeben, wird diese für Sie erstellt.

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

  5. Geben 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 definiert die jeweiligen Benachrichtigungen über den Übermittlungsstatus (DSN-Nachrichten), die der SMTP-Zielserver dem Absender zur Verfügung stellen muss. DSN-Nachrichten werden in RFC 1891 definiert. In diesem Fall fordern Sie eine DSN-Nachricht für eine erfolgreiche Nachrichtenübermittlung bzw. eine Nachrichtenübermittlung mit Fehler an.

  8. Geben Sie DATA ein, und drücken Sie dann die EINGABETASTE. Sie erhalten die folgende oder eine ähnliche Antwort:

    354 Start mail input; end with <CLRF>.<CLRF>
    
  9. Geben Sie Betreff: Test von Contoso ein, und drücken Sie die EINGABETASTE.

  10. Drücken Sie die EINGABETASTE. RFC 2822 erfordert eine Leerzeile zwischen dem Subject:-Kopfzeilenfeld und dem Nachrichtentext.

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

  12. Drücken Sie die EINGABETASTE, geben Sie einen Punkt (.) ein, und drücken Sie dann die EINGABETASTE. Sie erhalten die folgende oder eine ähnliche Antwort:

    250 2.6.0 <GUID> Queued mail for delivery
    
  13. Um die Verbindung mit dem SMTP-Zielserver zu trennen, geben Sie QUIT ein, und drücken Sie dann die EINGABETASTE. Sie erhalten die folgende oder eine ähnliche Antwort:

    221 2.0.0 Service closing transmission channel
    
  14. Um Ihre Telnet-Sitzung zu schließen, geben Sie quit ein und drücken dann die EINGABETASTE.

Interpretieren der Ergebnisse einer Telnet-Sitzung mit einem SMTP-Server

Dieser Abschnitt stellt Einzelheiten zu den Antworten zur Verfügung, die auf die Befehle erfolgt sind, die Sie im Beispiel oben eingegeben haben.

Hinweis

Die dreistelligen SMTP-Antwortcodes, die in RFC 2821 definiert sind, sind für alle SMTP-Messagingserver gleich. Die Textbeschreibungen können für einige SMTP-Messagingserver geringfügig abweichen. In diesem Beispiel führt der Zielcomputer Exchange Server 2007 aus.

Öffnen von "mail1.fabrikam.com 25"

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.

  • Es wurde eine falsche Portnummer angegeben.

EHLO contoso.com

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

Fehlerantwort   501 5.5.4 Invalid domain name

Mögliche Fehlerursachen   Der Domänenname enthält ungültige Zeichen. Es können auch Verbindungseinschränkungen für den SMTP-Zielserver gelten.

Hinweis

EHLO ist das ESMTP-Verb (Extended Simple Message Transfer Protocol), das in RFC 2821 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.

MAIL FROM:chris@contoso.com

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. Sie erhalten diesen Fehler, wenn Sie mit Telnet versuchen, eine Nachricht direkt an einen Hub-Transport-Server zu übermitteln.

RCPT TO:kate@fabrikam.com NOTIFY=success,failure

Erfolgreiche Antwort   250 2.1.5 Recipient OK

Fehlerantwort   550 5.1.1 User unknown

Mögliche Fehlerursachen   Der angegebene Empfänger ist in der Organisation vorhanden.

Weitere Informationen

Weitere Informationen hierzu finden Sie unter den folgenden Themen: