Beim Betreiben eines NAS kommt es immer wieder vor, dass man automatisiert E-Mails versenden muss. Man könnte hierfür zwar einen eigenen Mailserver aufsetzen, doch ich scheue für ein einfaches NAS oder einen einfachen Server diesen Aufwand. Weiterhin ist es nicht allzu geschickt, einen Mailserver von zu Hause aus über eine DSL-Leitung Mails verschicken zu lassen, da die meisten großen Provider die Annahme von Mails, die von DSL-Leitungen kommen, verweigern. Daher nutze ich für die NAS- und Serversysteme gerne SSMTP - das ist ein sogenannter Nullmailer.
Ein Nullmailer ist kein richtiger Mailserver. Er macht nichts anderes als den Mailversand über einen "echten" Mailaccount weiter zu leiten. Mein favorisierter Nullmailer ist SSMTP, dessen Einrichtung ich hier beschreibe.
Diese Anleitung ist zwar vorrangig für Bananian auf dem Banana Pi gedacht. Sie funktioniert aber auch auf anderen Debian-Systemen (wie Raspian) und auch Ubuntu. In der Anleitung benutze ich einen Google-Account. Andere, beliebige E-Mail-Accounts funktionieren jedoch auch.
Folgende Schritte sind notwendig:
Software installieren
Die folgenden Kommandos aktualisieren das System und installieren dann ssmtp und die benötigten Utilities. In den Utilities ist u.a. das mail-Kommando, das wir benötigen um Mails von der Kommandozeile aus zu verschicken.
apt-get update apt-get upgrade apt-get install ssmtp mailutils sharutils
Konfiguration bearbeiten
Die Konfiguration mit einem Editor (hier: vi) bearbeiten:
vi /etc/ssmtp/ssmtp.conf
Inhalt der Konfigurationsdatei: /etc/ssmtp/ssmtp.conf
:
# # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=<E-MAIL-ADRESSE> # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.gmail.com:587 # Where will the mail seem to come from? #rewriteDomain= # The full hostname hostname=<HOSTNAME> # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address #FromLineOverride=YES AuthUser=<E-MAIL-ADRESSE>@googlemail.com AuthPass=<PASSWORT> UseSTARTTLS=YES
Erläuterungen
- Zeile 6: Die E-Mailadresse des Server-Administrators
- Zeile 10: Der SMTP-Server, der zum Versand verwendet wird. Hier ist es der Google-Server auf Port 587. Beliebige andere Server können verwendet werden.
- Zeile 16: Der Hostname eures NAS. Kann ganz einfach mit dem Kommando
hostname
ermittelt werden. - Zeile 22: Der Username auf dem Mailserver über den verschickt werden soll bei Googlemail ist dieser gleich der E-Mailadresse, bei anderen Providern kann das anders sein.
- Zeile 23: Das Passwort des Users auf dem Mailserver.
Wenn Googlemail verwendet wird, dann muss man den "Zugriff für weniger sichere Apps zulassen", da bei Google ein verschlüsseltes SMTP wohl nicht mehr als sicher genug akzeptiert wird. Dazu loggt man sich bei Google im Web ein und ändert die Einstellungen über folgende URL: https://www.google.com/settings/security/lesssecureapps
Ob alles korrekt funktioniert kann man am Schluss mit folgendem Kommando in der Bash ausprobieren:
echo "Test von SSMTP" | mail -s"Testmail" <RECEIVER>
<RECEIVER> ist dabei die Adresse an die die Testmail geschickt werden soll. Funktioniert das, können ab jetzt Scripts das mail-Kommando des Systems benutzen und zum Beispiel für Infos zur Systemwartung Mails versenden.