E-Mail-Versand für den Raspberry Pi konfigurieren

Postfix konfigurieren

Hier im Blog habe ich bereits einige Beiträge zum Versand von Statusmeldungen und Dateien von einem Raspberry Pi verfasst.
Damit auch Nachrichten an eine Empfänger-E-Mail versendet werden können, sind einige Pakete und ein paar Anpassungen erforderlich.
Der Artikel zum Einrichten und Konfigurieren ist in die Jahre gekommen, deshalb gibt es ein Update.

Postfixs resolv.conf und wpa-supplicant

In meinem gestrigen Beitrag habe ich beschrieben, wie man den WLAN-Zugriff über wpa-supplicant.conf konfigurieren kann. Leider hatte ich dabei ein kleines Problemchen im Zusammenspiel mit Postifx. Nachdem ich meinen Pi vom LAN getrennt habe und dieser nur noch Zugriff über WLAN hatte, funktionierte der Versand von E-Mail nicht mehr. Der Zugriff auf den kleinen PC via SSH war möglich, also hatte er eine IP via DHCP erhalten.

Nach ein wenig Recherche im Netz habe ich die Ursache gefunden. Postfix benötigt anscheinend einen deckungsgleichen Nameserver-Eintrag in den beiden Dateien

  • /etc/resolv.conf
  • /var/spool/postfix/etc/resolv.conf

Die Einträge lassen sich mit den wie folg anzeigen

/etc/resolv.conf


und

/var/spool/postfix/etc/resolv.conf

Bei mir hat der Nameserver in der Datei /var/spool/postfix/etc/resolv.conf gefehlt. Manuell konnte ich die /etc/resolv.conf kopieren und Postfix neustarten.

sudo cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf
sudo service postfix restart

Eine Überprüfung von Postfix ergab dann keinen Fehler mehr

sudo postfix check

Damit war das Problem behoben und Postfix konnte wieder E-Mails versenden.
Leider wurde die /var/spool/postfix/etc/resolv.conf bei jedem Neustart des Raspberry Pis wieder zurückgesetzt. Postfix konnte dann wieder keine E-Mails versenden.

Ich kann leider keine Lösung für das Problem mit der wpa-supplicant.conf anbieten. Ich habe mein Problem so gelöst, dass ich die WLAN-Zugangsdaten direkt in die /etc/network/interfaces geschrieben habe. Damit funktioniert auch nach einem Neustart des Pis der Versand von E-Mails. Die Überprüfung von Postfix ergab keinen Fehler

sudo postfix check

In meinem Beitrag ➡ WLAN – Statische IP-Adresse vergeben beschreibe ich die Konfiguration der Datei /etc/network/interfaces.

Vielleicht hat jemand eine bessere Lösung, die auch die Benutzung der wpa-supplicant.conf erlaubt. Bin für jeden Hinweis dankbar.

Motion mit E-Mail-Versand

Ich habe vor kurzem eine kleine Überwachungskamera mit meinem Pi gebastelt, die auch nach einigen Tagen noch wunderbar funktioniert. Da ich die Bilder aber nur daheim im Netzwerk betrachten kann, habe ich noch zusätzlich einen E-Mail-Versand eingerichtet. Dadurch werden die erstellten Bilder automatisch an eine E-Mail-Adresse gesendet, die ich weltweit abrufen kann.

Nagios versendet E-Mails, wirklich?

Nagios versendet E-Mails, wirklich?
Der E-Mail-Versand von Meldungen ist ein zentraler Bestandteil von Nagios. Irgendjemand sollte über kritische Dinge in der IT-Infrastruktur informiert werden, um rechtzeitig reagieren zu können.

Nagios bietet ja die Möglichkeit an einzelne User oder an ganze Gruppen Mails zu versenden. Wo und wie das Ganze konfiguriert wird, findet sich in Contacts und Services in Nagios.
Das Eintragen von Mail-Adressen in die contacts.cfg ist aber noch nicht ausreichend, damit das Monitoringsystem die Mails auch versenden kann. Man benötigt also noch einen Mail Transfer Agent (MTA). Da mein Nagios auf einem Ubuntu Server läuft ist es naheliegend den MTA Postfix zu verwenden.

Installation

Die Installation ist denkbar leicht auszuführen, da alle benötigten Pakete in den Repositories enthalten sind. Es werden die Pakete benötigt:

  • postfix
  • libsasl2-modules
  • bsd-mailx

Die Installation über die Konsole geht so

sudo aptitude install postfix libsas12-modules bsd-mailx

Konfiguration

Nach der Installation gehts an die Konfiguration des MTAs. Was man sich im voraus überlegen sollte, welche Art von MTA möchte ich verwenden. Es gibt mehrere Möglichkeiten. Eine Übersicht findet ihr hier wiki.ubuntuusers.de
Ich habe mich dazu entschieden einen Relayhost zu verwenden, d.h. der Nagios Server sendet mittels MTA seine Notifications an den richtigen Mail-Server und der sendet dann an die definierten Empfänger.

Die Konfiguration von Postfix ist anzupassen. Die main.cfg-Datei liegt im Verzeichnis /etc/postfix und muss angepasst werden.
Bevor ich hier lange herumrede, hier meine geänderte Passage

myhostname = server.netzwerk.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydonaim = netzwerk.de
myorigin = $mydomain
mydestination = server.netzwerk.de, localhost
relayhost = 192.168.2.1
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 200
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

Achtung:
In meiner Konfiguration ist keine Authentifizierung am Relayhost notwendig. Der Nagios-Server wurde fest dort eingetragen.
Die Konfiguration von Postfix für eine Authentifizierung ist im wiki.ubuntuusers.de zu finden.
Gebt auch darauf acht, dass ihr nicht den Postfix als Relayhost für andere Geräte konfiguriert. Wenn das passiert, dann kann es passieren das ihr eine Spamschleuder im eigenen Netzwerk habt, die über eure Domain die Werbemails versenden darf. Was das dann bedeutet, könnt ihr euch vorstellen … Blacklist für euere Domain … Mailannahme wird von Empfängern geblockt … HORROR.

Nun gut. Gehen wir davon aus, die Konfiguration von Postfix passt. Es muss aber noch gestestet werden.

Testphase

Öffnet als erstes ein Terminal, um in Echtzeit die geschriebenen Logeinträge zu verfolgen.

tail -f /var/log/mail.log

In einem zweiten Konsolenfester könnt ihr nun den Postfix steuern. Zuerst startet den MTA neu, damit er die geänderte Konfiguration (main.cfg) einlesen kann.

sudo /etc/init.d/postfix restart

Im letzten Schritt gehts darum, E-Mails an eine richtige E-Mail-Adresse zu versenden. Auf der Konsole den Befehl eingeben

mail 

Subject: Test Mail von meinem neuen Postfix
Hallo Admin,
dies ist eine Testmail von meinem neuen Postfix, der auf dem Nagios-Server läuft


Drückt nun Strg+D

Cc:

Kontrolliert beim Empfänger, ob eine Nachricht von Postfix eingetroffen ist.

Hat alles funktioniert, dann dauert es nur noch ein kleines Weilchen, bis die ersten Nagios Notifications eintreffen, je nachdem, wie das halt im Monitoring-System hinterlegt ist und welche Fehler es in eurer IKT-Struktur gibt.