Aktionen

Exchange+Outlook:SMTP über Telnet testen

Aus znilwiki

Wer es sich leicht machen nimmt mein Tool: TelnetSMTP-TestTool.exe (Telnet SMTP Test Tool)

Das Tool ist ein telnet Client der die nachfolgend beschriebenen Befehle per Schaltflächen zur Verfügung stellt und sogar die Base64 Umrechnung des Benutzernamen und des Passwortes übernimmt.


Anhand einer Beispielsitzung schauen wir uns die Kommunikation einmal an:

Wir verbinden und mit einem telnet-client, z.B. Putty mit dem Mailserver. Die Verbindung erfolgt dabei in der Regel auf Port 25. Dies ist überlicherweise der Port für den Dienst SMTP (Simple Mail Transfer Protocoll)

Server:      220 smtp.1und1.de (mrbap0) Welcome to Nemesis ESMTP server
Wir:         HELO test.znil.net
Server:      250 smtp.1und1.de

HELO ist quasi die gegenseitige Begrüßung, Alternativ geht

Wir:         EHLO test.znil.net
Server:      250-smtp.1und1.de
             250-STARTTLS
             250-AUTH LOGIN PLAIN
             250-AUTH=LOGIN PLAIN
             250-PIPELINING
             250-SIZE 120000000
             250 HELP

EHLO ist das selbe wie HELO, nur wollen wir das ESMTP Protokoll nutzen, das Enhanced SMTP Protokoll

Wir:         AUTH LOGIN
Server:      334 VXNlcm5hbWU6
Wir:         bWF4Lm11c3Rlcm1hbm5Aem5pbC5uZXQ=     -> Benutzername
Server:      334 UGFzc3dvcmQ6
Wir:         ZHVtbXkmNg==                         -> Passwort
Server:      235 Authentication successful

AUTH LOGIN bedeutet das wir uns Anmelden wollen - je nach Mailserver kann dieser Schritt auch übersprungen werden.
Nach unserem Befehl melden der Server sich kryptisch zurück.
Nun in einer einzelnen Zeile den Benutzernamen - aber Base64 kodiert.
Es folgt wieder eine kryptische Meldung.
Nun das Passwort, wiederum Base64 kodiert

Wir:         MAIL FROM:<max.mustermann@znil.net>
Server:      250 OK

Damit geben wir an wer der Absender ist. die < > können ggf. auch weggelassen werden, eventuell sieht es aber später im Mailclient komisch aus.

Wir:         RCPT TO:<bernhard@znil.net>
Server:      250 OK

RCPT TO: für den Empfänger der Email. Gibt es mehrere Empfänger so einfach eine weitere RCPt TO Zeile für jeden weiteren eingeben

Wir:         DATA
Server:      354 Enter mail, end with "." on a line by itself

Wir sind fertig mit den Empfänger und wollen nun die eigentliche Nachricht verfassen

Wir:         From: max.mustermann-znil.net <max.mustermann@znil.net>
             To: bernhard-znil.net <bernhard@znil.net>
             Subject: Testmail 21:22:21
             
             Der Lieutnant von Laeuten, befahl seinen Leuten, nicht eher zu laeuten,
             bis der Lieutnant von Laeuten, seinen Leuten, das Laeuten befahl.
             
             .
Server:      250 Message 0Mg0KT-1Pzi5t12ov-00O59s accepted by mrbap0.kundenserver.de

Die From: und To: Zeilen geben den Anzeigenamen an, in < > dahinter ggf. die Antwortadresse
Subject: ist dann der Betreff. Wichtig ist das diese Zeilen unmittelbar auf DATA folgen müssen.
Nach einer einzelnen Leerzeile beginn der eigentliche Mailtext. Wir beenden ihn mit einer einzelnen
Leerzeile gefolgt und einem einzelnen Punkt in einer Zeile.

Wir:         QUIT
Server:      221 OK

Damit melden wir uns wieder ab und schliessen die Sitzung.

Eine Liste der möglichen Antwort-Codes: (gemäß RFC 2821):

     500 Syntax error, command unrecognized (This may include errors such as command line too long)
     501 Syntax error in parameters or arguments
     502 Command not implemented  (see section 4.2.4)
     503 Bad sequence of commands
     504 Command parameter not implemented

     211 System status, or system help reply
     214 Help message
         (Information on how to use the receiver or the meaning of a
         particular non-standard command; this reply is useful only
         to the human user)
     220 <domain> Service ready
     221 <domain> Service closing transmission channel
     421 <domain> Service not available, closing transmission channel
         (This may be a reply to any command if the service knows it
         must shut down)
     250 Requested mail action okay, completed
     251 User not local; will forward to <forward-path>
         (See section 3.4)
     252 Cannot VRFY user, but will accept message and attempt
         delivery
         (See section 3.5.3)
     450 Requested mail action not taken: mailbox unavailable
         (e.g., mailbox busy)
     550 Requested action not taken: mailbox unavailable
         (e.g., mailbox not found, no access, or command rejected
         for policy reasons)
     451 Requested action aborted: error in processing
     551 User not local; please try <forward-path>
         (See section 3.4)
     452 Requested action not taken: insufficient system storage
     552 Requested mail action aborted: exceeded storage allocation
     553 Requested action not taken: mailbox name not allowed
         (e.g., mailbox syntax incorrect)
     354 Start mail input; end with <CRLF>.<CRLF>
     554 Transaction failed (Or, in the case of a connection-opening
         response, "No SMTP service here")

     211 System status, or system help reply
     214 Help message
         (Information on how to use the receiver or the meaning of a
         particular non-standard command; this reply is useful only
         to the human user)
     220 <domain> Service ready
     221 <domain> Service closing transmission channel
     250 Requested mail action okay, completed
     251 User not local; will forward to <forward-path>
     252 Cannot VRFY user, but will accept message and attempt
         delivery
     354 Start mail input; end with <CRLF>.<CRLF>
     421 <domain> Service not available, closing transmission channel
         (This may be a reply to any command if the service knows it
         must shut down)
     450 Requested mail action not taken: mailbox unavailable
         (e.g., mailbox busy)
     451 Requested action aborted: local error in processing
     452 Requested action not taken: insufficient system storage
     500 Syntax error, command unrecognized
         (This may include errors such as command line too long)
     501 Syntax error in parameters or arguments
     502 Command not implemented (see section 4.2.4)
     503 Bad sequence of commands
     504 Command parameter not implemented
     550 Requested action not taken: mailbox unavailable
         (e.g., mailbox not found, no access, or command rejected
         for policy reasons)
     551 User not local; please try <forward-path>
     552 Requested mail action aborted: exceeded storage allocation
     553 Requested action not taken: mailbox name not allowed
         (e.g., mailbox syntax incorrect)
     554 Transaction failed  (Or, in the case of a connection-opening
         response, "No SMTP service here")


Externe Links hierzu:

http://blog.computer-tipps.info/2006/09/27/smtp-auth-mit-telnet-testen/
http://www.netgeiger.de/Knut/Tips_Tricks/Computer/E-Mail/smtp.php
http://www.msxfaq.de/internet/smtptelnet.htm
http://www.ietf.org/rfc/rfc2821.txt

Eigene Beschreibung folgt - ich programmiere gerade ein Mimencode Tool dazu. Schritt 2 wird ein Mailtest-Programm.


Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.