debian | Emails über die Kommandozeile verschicken

Gerade wenn man viel mit Email-Servern zu tun hat oder aber seinen eigenen Server aufsetzt, ist es wichtig zu wissen, wie man diesen testen kann. Natürlich ist die Kommandozeile dafür prädestiniert.

Zuerst muß man wissen, mit welchem Server man kommunizieren muß, damit Emails an eine Domain angenommen werden können

server:~# host gmx.de
gmx.de has address 213.165.65.50
gmx.de mail is handled by 10 mx0.gmx.net.
gmx.de mail is handled by 10 mx1.gmx.net.

Möchte man diesen Email-Server anfunken, dann macht man das mit
telnet mx0.gmx.net 25

Der Server antwortet:
Trying 213.165.64.100...
Connected to mx0.gmx.net.
Escape character is '^]'.
220 mx0.gmx.net GMX Mailservices ESMTP {mx023}

Wir stellen uns vor:
ehlo mail.domain.de

Der Server antwortet:
250-mx0.gmx.net GMX Mailservices
250-8BITMIME
250-ENHANCEDSTATUSCODES
250 SIZE

Darauf hin fangen wir an die Mail zu schreiben. Zuerst kommt der Absender:
mail from:  absender@domain.de

Der Server gibt sein ok
250 2.1.0 ok {mx023}

dann der Empfänger:
rcpt to: irgendwer@gmx.de

wieder der Server
250 2.1.5 ok {mx023}

Dann kommen wir zum eigentlichen Text
data

Der Server wieder
354 mx0.gmx.net Go ahead {mx023}

wir vergeben einen Betreff
subject: testmail

anschließend kommt der eigentliche Text
Dies ist eine Testmail

Abschließend ein einzelner Punkt gefolgt von einem RETURN zum Abschließen der Mail
.

Der Server bestätigt die Annahme
250 2.6.0 Message accepted {mx023}

Wir sagen brav Auf Wiedersehen
quit

der Server antwortet
221 2.0.0 GMX Mailservices {mx023}

und weg sind wir
Connection closed by foreign host.

Das kann man nicht nur mit fremden, sondern natürlich auch mit dem eigenen Mail-Server machen. Besonders wenn man diesen gerade frisch aufsetzt, sollte man folgendes probieren:

  1. Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und gültigem Empfänger der eigenen Domain.
  2. Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und ungültigem Empfänger der eigenen Domain.
  3. Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit fremder Emailadresse als Absender und fremden Empfänger.
  4. Verbindungsaufbau von eigenem DSL-Anschluß zu mailserver.domain.de mit eigener Emailadresse der Domain als Absender und gültigem Empfänger der eigenen Domain.
  5. Verbindungsaufbau vom Server zu localhost mit obigen vier Optionen.

So sollte man alle Varianten durchhaben, wie Mails eingeliefert werden könnten. Das Ergebnis eines jeden Tests sollte man genau untersuchen und hinterfragen, ob das genau so erwünscht war.

Manchmal möchte man entweder das Verhalten prüfen, wie ein lokaler Dienst EMails einliefert. Das wird nicht immer über den SMTP-Dienst des Servers getan sondern wird direkt in den EMail-Server injiziert. Bei postfix als MTA wird der Prozeß pickup dafür genutzt. Am Einfachsten ist es den Inhalt der Email in ein Textfile mit folgendem Muster zu schreiben.

From: <absender@domain.de>
To: <empfänger@domain.de>

Subject: This is a Postfix Sendmail Test

Dieses Textfile wird anschließend mit dem Befehl:
# cat testfile | /usr/sbin/sendmail -t -bm -v
abgeschickt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.