[Markdown] 

Hubzilla in der Dose (HiD): 5 – eMail-Funktionalität

5 – eMail-Funktionalität

img

Damit der Hub später in der Lage ist (ist zwingend notwendig), eMails zu versenden, müssen wir dem Raspi zu dieser Fähigkeit verhelfen. Man könnte nun einen vollwertigen Mailserver aufsetzen… aber das wäre mit Kanonen auf Spatzen geschossen, denn es muss letztlich nur möglich sein, eMails per PHP zu versenden… ein Mail-Empfang ist nicht erforderlich. Wenn man über einen Mail-Account verfügt (ob selbst gehostet oder bei einem Mail-Provider), dann kann man den Raspi so einrichten, dass er eMails über diesen Mailserver sendet. Für diese Funktionalität gibt es mehrere Möglichkeiten… z.B. ssmtp oder postfix.

ssmtp klang für mich zunächst „einfacher“ oder „leichtgewichtiger“ (postfix klingt dann doch eher wieder nach echtem, fetten Mailserver), weshalb ich es damit versucht habe. Ich erläutere hier jetzt aber nicht die Installation und die Konfiguration, weil ich daran nach etlichen Stunden endgültig gescheitert bin. Es wollte mir partout nicht gelingen, ssmtp so zu konfigurieren, dass es mit dem Mail-Account meines Hosting-Providers zusammenarbeiten wollte. Sucht man im Netz nach Lösungen, so findet man meist Beispiele für das Zusammenspiel mir einer gmail- oder GMX-Mailadressen. Da ich aus meinem Internet-Mittelalter noch brachliegende und ungenutzte Mail-Accounts sowohl beim Gockel, als auch bei GMX hatte, habe ich es auch – nur zum Ausprobieren – mit beiden getestet… ebenfalls vergeblich. Die Dokumentation von ssmtp ist… vorsichtig und nett ausgedrückt… suboptimal… Versuche mit verschiedenen Konfigurationen führten entweder dazu, dass der Mailserver gar nicht erreicht wurde oder dass das Login an vermeintlich „falschen Logindaten“ scheiterte. Und das für alle Accounts, die ich probiert habe. Ich habe etliche Stunden mit den Konfigurationsdateien herumexperimentiert und im Netz recherchiert… und dann irgendwann aufgegeben.

Da postfix eine vergleichbare Funktionalität bietet habe ich ssmtp dann vom Raspi geschmissen und es mit postfix probiert. Hätte ich gleich machen sollen, denn die Dokumentation ist vorbildlich, die Einrichtung einfach… nach wenigen Minuten gelang es mir, Mail über den Mailaccount meines Hosting-Providers zu versenden.

Hier also die „Anleitung“ für die Postfix-Lösung…

Die Postfix-Installation erfolgt mit

apt-get install postfix

Das Konfigurationsskript fragt nun nach dem Anwendungszweck… hier wählt man „Sattelitensystem“ („Satellite System“), womit keine Mails empfangen werden, aber Mails über einen Smart-Host versendet werden können.

Nun muss die Datei „/etc/postfix/main.cf“ angepasst werden…

nano /etc/postfix/main.cf

Hier sind folgende Einträge wichtig:

relayhost = :
mail_owner = postfix
setgid_group = postdrop
mtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=

Bei „relayhost“ müsst Ihr den Mailhost Eures Mail-Providers und den Port für SMTP-Mailversand eingeben.

Nun muss noch die Passwort-Datei angelegt werden:

nano /etc/postfix/sasl_passwd

Hier werden die Zugangsdaten eingetragen…

entfernter_mailrerver>::

Nun die Passwortdatei gegen unberechtigten Zugriff sichern:

chmod 600 /etc/postfix/sasl_passwd

Und schließlich die Benutzen-Datenbank mit

postmap hash:/etc/postfix/sasl_passwd

erzeugen. Jetzt nur noch postfix neu starten…

systemctl restart postfix

Damit sollte der Mailversand auch schon klappen. Ausprobieren kann man es mit

echo „Testmail“ | mail -s „Test Mail“ 

Falls etwas nicht klappt, sollte man in den Dateien „/var/log/mail.err“ und „/var/log/mail.log“ nachschauen.

Als nächstes sollte der Raspi jetzt „im Internet bekannt gemacht werden“… soll heißen, wir brauchen eine Domain, damit der Raspi von überall erreicht werden kann, ohne die IP zu kennen… das geschieht zuhause, wo man von seinem Internet-Provider regelmäßig andere IP zugewiesen bekommt, mit dynamischem DNS (dDNS). Wie das funktioniert… folgt im nächsten Abschnitt.