Anleitung: Mailversand auf der CLI

1. Grundlagen: Was benötigst du für den Mailversand auf der CLI?

  • Einen Mailserver oder ein SMTP-Relay, der/das die E-Mails verarbeitet.
  • Ein CLI-Tool wie mail, msmtp oder sendmail zum Versenden von E-Mails.
  • Eine funktionierende Netzwerkkonfiguration (DNS, Internetzugang).

Tools, die wir verwenden:

  • msmtp: Ein einfach einzurichtender SMTP-Client.
  • mailutils: Für den mail-Befehl.

2. Vorbereitung: Installation der Tools

Für Debian/Ubuntu:

sudo apt update
sudo apt install msmtp mailutils

Für RHEL/CentOS:

sudo yum install msmtp mailx

3. Einrichtung von msmtp

Konfigurationsdatei erstellen:

  1. Erstelle die Datei ~/.msmtprc:

    nano ~/.msmtprc
  2. Beispielkonfiguration für Gmail:

    account default
    host smtp.gmail.com
    port 587
    auth on
    user deine.email@gmail.com
    password dein_passwort
    tls on
    tls_starttls on
    logfile ~/.msmtp.log
  3. Dateiberechtigungen setzen:

    chmod 600 ~/.msmtprc

4. Einrichtung eines eigenen Mailservers (Postfix)

A. Postfix installieren

  1. Postfix installieren (für Debian/Ubuntu):

    sudo apt install postfix

    Für RHEL/CentOS:

    sudo yum install postfix
  2. Während der Installation wähle die Option "Internet Site".

B. Postfix konfigurieren

Bearbeite die Hauptkonfigurationsdatei /etc/postfix/main.cf:

myhostname = dein-hostname
mydomain = deine-domain.com
myorigin = $mydomain
inet_interfaces = all
relayhost =

Starte Postfix nach den Änderungen neu:

sudo systemctl restart postfix

C. Postfix testen

Versende eine Test-E-Mail:

echo "Das ist eine Test-E-Mail" | mail -s "Postfix-Test" empfaenger@example.com

5. Versand von Dateien per E-Mail

Einzelne Datei versenden:

echo "Hier ist die angehängte Datei" | mail -s "Betreff" -A /pfad/zur/datei empfaenger@example.com

Mehrere Dateien versenden:

echo "Mehrere Dateien angehängt" | mail -s "Betreff" -A /pfad/zur/datei1 -A /pfad/zur/datei2 empfaenger@example.com

6. Einrichtung der DNS-Records bei Hetzner

A. SPF-Record hinzufügen

  1. Logge dich in die Hetzner DNS Console ein:

  2. SPF-Record hinzufügen:

    • Wähle deine Domain aus und füge den folgenden TXT-Record hinzu:
      @  IN  TXT  "v=spf1 mx a ip4:DEINE_IP_ADRESSE ~all"

B. DKIM-Record hinzufügen

  1. DKIM-Schlüssel generieren:

    opendkim-genkey -s default -d deine-domain.com
  2. Öffentlichen Schlüssel bei Hetzner hinzufügen:

    • Füge den Inhalt der Datei default.txt als neuen TXT-Record hinzu:
      default._domainkey  IN  TXT  "v=DKIM1; k=rsa; p=ÖFFENTLICHER_SCHLÜSSEL"

C. DMARC-Record hinzufügen

  1. DMARC-Record konfigurieren:

    • Füge folgenden TXT-Record hinzu:
      _dmarc  IN  TXT  "v=DMARC1; p=none; rua=mailto:report@deine-domain.com"
  2. Für strikte Regeln:

    _dmarc  IN  TXT  "v=DMARC1; p=reject; rua=mailto:report@deine-domain.com"

7. DNS-Records testen

SPF-Test:

dig TXT deine-domain.com

DKIM-Test:

DMARC-Test:


8. Zusammenfassung

  • Wir haben den Mailversand auf der CLI mit msmtp und mailutils eingerichtet.
  • Eine vollständige Mailserver-Einrichtung mit Postfix wurde hinzugefügt.
  • DNS-Records (SPF, DKIM, DMARC) für Hetzner wurden für einen sicheren Mailversand konfiguriert.

Viel Erfolg beim Versenden von Mails! 😊