In Kürze werde ich eine Anleitung über die Einrichtung eines Backup-MX schreiben. Vorbereitend darauf, möchte ich hier kurz zeigen, wie mit telnet eine Mail an einen Mailserver verfasst und abgeschickt werden kann.
Wir können damit testen ob eine Mail ankommt, wir können testen ob Backscatter-Angriffe funktionieren, wir können mit telnet und leicht abgewandelten Befehlen auch testen, ob unser SMTP-Server ein offenes Relay ist und vieles mehr. Auf letzteres gehe ich hier nicht ein – das mache ich vielleicht später gesondert.
Schritt 1: Verbindung zum SMTP-Server herstellen
Wir verbinden uns via Telnet mithilfe der IP und dem SMTP-Port (oder dem String smtp) zum Mailserver.
telnet meinmailserver.de smtp
Anstelle von “smtp” können wir auch einfach eine “25” schreiben. Das ist der Standard-SMTP-Port. Und anstelle einer Domain ist es auch möglich, schlichtweg eine IP einzugeben. Dann ersparen wir die DNS-Abfrage.
Der SMTP-Server quittiert uns nun, dass wir verbunden sind:
Trying 123.123.123.123…
Connected to meinmailserver.de.
220 meinmailserver.de ESMTP Postfix (Debian/GNU)
Schritt 2: Selbst identifizieren
Wir sagen dem Mailserver, wer wir sind. Das passiert mit dem “HELO” Befehl. Normalerweise sollte auf HELO entweder unser Rechnername, unsere Domain oder ähnliches folgen. Es reicht aber auch, wenn wir einfach unseren Namen schreiben.
helo maltris
Der Server quittiert uns nun mit einem 250, dass unser “HELO” angekommen ist. Manche Mailserver schreiben auch noch nette Nachrichten zurück wie “Hello, how can i help you?”.
250 meinmailserver.de
Schritt 3: E-Mail kommt von … ?
Mit “MAIL FROM:” teilen wir dem Mailserver mit, von welcher Adresse unsere Mail kommt. Bei mir ist das meine Standard-Mailadresse “m@maltris.org”.
mail from: m@maltris.org
Auch das quittiert uns der Mailserver wieder, diesmal mit einer Nachricht wie der folgenden.
250 2.1.0 Ok
Schritt 4: E-Mail soll an … ?
Mit “RCPT TO:” sagen wir dem Mailserver, an welche Adresse die Mail gehen soll. In meinem Fall ist das “info@anderedomain.de”.
rcpt to: info@anderedomain.de
Auch das wird uns der Mailserver bei Erfolg wieder quittieren. Andernfalls wird er uns zum Beispiel mitteilen, dass die Mailadresse bei ihm nicht existiert oder aus anderen Gründen der Empfang blockiert wurde.
250 2.1.5 Ok
Schritt 5: Datenkanal öffnen
Mit “DATA” öffnen wir den Datenkanal zum Mailserver. Nun können wir den Inhalt der Mail komponieren. Also Betreff, Text, Sender, Empfänger und alles was man noch so kennt. Auch CC und BCC sind hier möglich.
data
Der Mailserver quittert uns das öffnen des Kanals und teilt uns mit, wie unser Inhalt abzuschließen sei.
354 End data with <CR><LF>.<CR><LF>
Schritt 6: Mailinhalt eingeben und abschicken
Nun geben wir allerlei Mailinhalt ein. Seit “DATA” können wir auch einwandfrei die Entertaste verwenden. Ich möchte hier nur eine Testmail verschicken, also beschränke ich den Inhalt auf “From”, “To”, “Subject” und den Inhalt (Content).
From: m@maltris.org
To: info@anderedomain.de
Subject: Das ist ein Betreff
Und hier wird der komplette Inhalt reingeschrieben.
.
Ganz wichtig ist hierbei der Punkt in der letzten Zeile. Wenn die Zeile nur einen Punkt enthält, heißt das, dass die Daten fertig sind und der Datenkanal wieder geschlossen werden kann. Betätigen wir nach dem Punkt in der letzten Zeile die Entertaste, wird keine neue Zeile begonnen, sondern die Daten abgeschlossen. Der Mailserver quittiert uns nun, dass die Mail in seine Warteschlage aufgenommen wurde.
250 2.0.0 Ok: queued as 23AD88C0E2
Schritt 7: telnet-Verbindung beenden
Nachdem der Server uns mitteilte, dass die Mail erfolgreich in die Warteschlange aufgenommen wurde, schließen wir die telnet-Verbindung wieder mit dem Befehl “QUIT”.
quit
Der Server sagt uns jetzt noch Tschüss.
221 2.0.0 Bye
Und trennt die Verbindung.
Connection closed by foreign host.
PS: Groß- und Kleinschreibung ist bei den Befehlen nicht relevant. Deshalb habe ich auch bei den Befehlen klein und in den Erklärungen groß geschrieben.
Zwischen Mailheader und Mailbody gehört eine Leerzeile:
From: m@maltris.org
To: info@anderedomain.de
Subject: Das ist ein Betreff
Und hier wird der komplette Inhalt reingeschrieben.
.
->
From: m@maltris.org
To: info@anderedomain.de
Subject: Das ist ein Betreff
Und hier wird der komplette Inhalt reingeschrieben.
.
Quelle für diese Regel?
Dann übernehme ich es auch oben. :D
Interessantes Thema.
Kann man immer wieder mal brauchen!