
Diese Aufgabe übernimmt ein Mail Relay Agent. Früher kam hier das etwas umständlich zu konfigurierende Sendmail zum Einsatz. Heutzutage greift man besser auf Postfix zurück.
Installation
Im ersten Schritt installieren wir Postfix.
apt-get install postfix
Bei der Installation werden wir gefragt wie Postfix konfiguriert werden soll. Hierbei wählen wir die Option Satellitensystem.

Nun fragt Postfix nach dem System E-Mail Namen. Diesen können wir in der Regel direkt übernehmen.
Im nächsten Schritt tragen wir den SMTP-Relay-Server ein. Dies ist der SMTP Server über welchen Später die Mails versendet werden (z.B. GMX).

Abschließend wird der Dialog mit OK bestätigt.
Konfiguration
Nachdem Postfix auf dem Raspberry Pi installiert ist müssen wir noch einige Einstellungen betreffend dem E-Mail Versand und der Authentifizierung treffen.
Authentifizierung
Zunächst die Datei /etc/postfix/main.cf mit dem Editor nano öffnen und die nachfolgenden Zeilen anfügen.
nano /etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
Hinweis: Die Option noplaintext ist nicht mit jedem E-Mail Server kompatibel. Beispielsweise muss diese Option beim Webhoster All-Inkl weggelassen werden. Die Zeile würde dann also wie folgt aussehen.
smtp_sasl_security_options = noanonymous
Jetzt erstellen wir noch die Datei mit den Zugangsdaten am Mailserver.
nano /etc/postfix/sasl_password
smtp.foxplex.com benutzername:passwort
Damit die Datei nur vom Besitzer eingesehen werden kann passen wir die Berechtigungen noch an.
chmod 600 /etc/postfix/sasl_password
Um die Daten jetzt noch in die Datenbank von Postfix aufzunehmen verwenden wir den Befehl postmap.
postmap hash:/etc/postfix/sasl_password
Absender
Standardmäßig werden Mails jetzt als Benutzer@Hostname versendet. Einige Mailserver akzeptieren nur E-Mails von öffentlich bekannten (echten) Absendern. Daher passen wir die Zuordnungen noch an.
Hierzu wieder die Konfigurationsdatei /etc/postfix/main.cf öffnen und die nachfolgende Zeile anfügen.
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Die entsprechende Datei legen wir in diesem Zuge auch gleich an und füllen sie mit Inhalt.
nano /etc/postfix/sender_canonical
root status@example.com
www-data www@example.com
Hiermit wird dem Benutzer Root die Mailadresse status@example.com zugeordnet. Gleiches gilt für den Benutzer des Webservers, welchem die Adresse www@example.com zugeordnet wird.
Auch hier müssen wir die Daten mittels postmap wieder in die Datenbank aufnehmen.
postmap /etc/postfix/sender_canonical
Zum Abschluss nehmen wir Postfix noch in den Autostart auf und starten den Dienst neu.
update-rc.d postfix defaults
service postfix restart
Test
Abschließend testen wir noch ob die Mail auch ordnungsgemäß versendet wird.
(
echo "Subject: Testnachricht"
echo " "
echo "Dies ist ein Test"
echo " "
) | /usr/bin/mail -s "Testnachricht" empfaenger@example.com
Sollte die Mail nicht ankommen ist ein Blick in die Log Datei meist hilfreich.
cat /var/log/mail.log
Fazit
Im Vergleich zu Sendmail ist die Konfiguration von Postfix recht übersichtlich. Auf dem Raspberry Pi funktioniert Postfix ebenfalls sehr performant ohne wertvolle Ressourcen zu fressen.
Quellen: Postfix Logo, Raspberry Pi Logo
Similar articles

Michael Kostka
28.05.2014 09:16
das Szenario mit den IP Cams ist mit Postfix möglich.
In der Konfiguration /etc/postfix/main.cf muss hierzu folgende Zeile aktiv sein:
inet_interfaces = all
Damit kannst auch von den IP Cams aus Mails verschicken.
Viele Grüße
Michael
CP
24.04.2014 17:03
erstmal Danke für Dein Tutorial. Ich hab (noch) keinen Rasberry, aber trotzdem schon eine Frage dazu.
Ich habe folgendes Problem. Bei mir laufen 2 IP-Webcams die nur Emails unverschlüsselt an einen smtp-Server mit Port 25 versenden können. Die werden ja im Internet immer seltener, alle meine Provider verlangen jetzt eine verschlüsselte Verbindung.
Meine Idee wäre jetzt, einen Rasberry, wie von Dir beschrieben, in mein lokales Netz zu hängen. Ich bin mir nur nicht sicher ob Postfix auch den Port 25 auf macht und von anderen Rechnern im Netz eMails empfängt, um sie dann weiterzuleiten. Der lokale Port:25 des RPI sollte nur in meinem Netz erreichbar sein.
Kann ich jetzt in einem anderen Rechner der RPi als SMTP-Server eintragen und dieser versendet die eMail dann mit SSl an meinen Mailprovider? In deinem Beispiel testet du die eMail ja nur lokal auf dem RPi, nicht von einem anderen Rechner aus.
Thanx a lot, CP
Michael Kostka
30.03.2014 10:28
per Standard ist in der Konfigurationsdatei bereits
smtp_use_tls=yes
aktiviert. Je nach Provider müsstest du dem Relayhost noch einen Port mitgeben.
relayhost = smtp.foxplex.com:465
Dann sollten die Mails auch verschlüsselt übertragen werden.
Viele Grüße
Michael
Markus
27.03.2014 09:03
Gelten die Einstellungen auch für SSL-Mails?
Gruß
Markus
RGuide
20.12.2013 15:34