Raspbian (Exim4) Konfiguration für SMTP Relay

In dem Raspbian Image ist Exim4 enthalten und muss für den Versand noch konfiguriert werden.

sudo dpkg-reconfigure exim4-config

Die Einstellung erfolgen Grafisch. Hier die Vorgaben für einem SMTP Relay (192.168.10.123) ohne Authentifizierung.

„Versand über Sendezentrale (Smarthost); keine lokale E-Mail-Zustellung“

E-Mail-Name des Systems: raspberrypi

IP-Adressen, an denen eingehende SMTP-Verbindungen erwartet werden: 127.0.0.1 ; ::1

Weitere Ziele, für die E-Mails angenommen werden sollen: raspberrypi

Sichtbarer Domänenname für lokale Benutzer: domain.com

IP-Adresse oder Rechnername der Sendezentrale für ausgehende E-Mails: 192.168.10.123

DNS-Anfragen minimieren (Automatische Einwahl, Dial-on-Demand)? Nein

Einstellungen auf kleine Dateien aufteilen? Nein

Empfänger der E-Mails an die Benutzer root und postmaster: pi

Jetzt ist der Versand per Mail möglich.

Mail von Kommandozeile versenden

Wie kann ich eine E-Mail von der Kommandozeile versenden?

Zu erst installieren wir die Mail-Util’s.

sudo apt-get install mailutils

Und jetzt kann man schon eine E-Mail versenden.

mail -s "Betreff" recipient@domain.de < nachricht.txt

echo "Nachricht" | mail -a "From: you@example.com" -s "Betreff" recipient@domain.de

Oder mit Sendmail.

sendmail recipient@domain.de
From: you@example.com
Subject: Betreff
Nachricht
.

Sollte die Email beim Empfänger nicht an kommen, muss man die Einstellung von Postfix oder Exim noch einmal prüfen.

sudo dpkg-reconfigure postfix

sudo dpkg-reconfigure exim4-config

Will man die Kommunikation von SMTP selbst mal probieren, so kann man per Telnet auch eine E-Mail senden.

telnet mail.domain.de 25

HELO <senderhostname.de>
EHLO <senderhostname.de>
MAIL FROM:<you@example.com>
RCPT TO:<recipient@domain.de>
DATA
Subject: Test email
 
Body of the email
.
QUIT

Heute sollte die Kommunikation zum SMTP Server nicht mehr unverschlüsselt statt finden. Für die Verschlüsslung werden SSL Zertifikat verwendet.

Mit OpenSSL kann man das Zertifikat von dem SMTP Server überprüfen.

openssl s_client -connect : -servername [-starttls ]

Die Umschaltung auf verschlüsselt Übertragung erfolgt per STARTTLS. Mögliche Werte sind (smtp, pop3, imap).

Hier ein Beispiel für SMTP.

openssl s_client -connect example.com:25 -servername example.com -starttls smtp

Wenn man nur das Zertifikat überprüfen will, geht es auch so.

openssl s_client -connect example.com:25 -starttls smtp -showcerts | openssl x509 -text

Hier eine Liste der Ports für E-Mail Kommunikation.

  • 25 SMTP Empfangen von E-Mails von anderen Mailservern
  • 465 SMTP SSL Client E-Mail Übertragung
  • 587 SMTP TLS Client E-Mail Übertragung
  • 143 IMAP StartTLS Client
  • 993 IMAP TLS/SSL Client
  • 110 POP3 Client
  • 995 POP3 TLS/SSL Client

Postfix Mailqueue versenden, bearbeiten oder löschen

Postfix versendet Email nicht sofort sondern immer über eine Warteschlange (Englisch: queue). Mit dem Kommando mailq kann man sich die Warteschlange ansehen.

Mit Exim kann man sich die Liste auch ansehen.

sudo exim -bp

Wollen Sie den Versand sofort starten, so können Sie die Warteschlange mit „Flush“ auslösen.

sudo postfix flush

sudo exim -q

Sollte der Versand von Email nicht möglich sein, zum Beispiel weil der Server vom Empfänger nicht erreichbar ist, so wird die Warteschlange immer größer.

Diese Nachricht aus der Warteschlange kann man sich auch ansehen. Zum Anzeigen verwendet man die Queue ID XXXXXXXX aus der Liste.

sudo postcat -vq XXXXXXXX

Mit diesem Kommando kann man die Mailqueue löschen.

sudo postsuper -d ALL

Wichtig ist der Parameter „ALL“ muß in Großbuchstaben geschrieben werden.

Bei Exim lautet das Kommando so:

sudo exim -bp | sudo exiqgrep -i | xargs sudo exim -Mrm