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