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.
Für das Vorhaben benötigt ihr neben dem Pi und einer Camera auch eine E-Mail-Adresse bei einem irgendeinem Provider. Ich habe mich hier für Strato entschieden, da ich meine Bilder nicht an ein ausländisches Unternehmen geben möchte.
ACHTUNG:
Es gibt eine neuen Beitrag zum E-Mail-Versand hier im Blog:
➡ E-Mail-Versand für den Raspberry Pi konfigurieren
Inhaltsverzeichnis
MTA Postfix
Motion an E-Mail-Versand anpassen
Quellen
Nachtrag Januar 2016
Nachtrag Januar 2018
Nachtrag Oktober 2018
MTA Postfix
Der E-Mail-Versand funktioniert bei mir über den Mail Transfer Agent (MTA) Postfix, der in den Repositories enthalten ist und sich einfach und flexibel anpassen lässt.
Ich habe die folgenden Pakete installiert.
sudo aptitude install postfix libsasl2-modules bsd-mailx cyrus-imapd-2.2 cyrus-admin-2.2 sasl2-bin



Damit über Postfix auch Anhänge versendet werden können ist das Paket „heirloom-mailx“ unbedingt zu installieren. Fehlt dies, wird nur reiner Text per E-Mail versendet.
sudo aptitude install heirloom-mailx
Nach dem Herunterladen der Pakete werden die Programme installiert. Dabei ist bei Postfix anzugeben, dass ihr eure Mails über einen ISP versenden wollt.
Die Konfiguration von Postfix ist über ein paar Dateien im Verzeichnis /etc/postfix/ vorzunehmen. Die Hauptkonfigurationsdatei ist die main.cf die wir mit dem Editor nano bearbeiten.
sudo nano /etc/postfix/main.cf
Scrollt ganz an das Ende der Datei und fügt dort die folgenden Zeilen ein.
relayhost= smtp.strato.de:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_use_tls = yes smtp_enforce_tls = no smtp_tls_enforce_peername = no smtpd_tls_security_level = may
Schließt und Speichert die Datei dann ab.
Sollten beim Versuch des E-Mail-Versands Meldungen zu IPv6 kommen, dann könnt ihr in der main.cf die Zeile
inet_protocols = ipv4
eintragen, um das zu lösen.

Nach der Bearbeitung der main.cf ist eine neue Datei mit dem Namen sasl_passwd im gleichen Verzeichnis anzulegen, worauf wir auch mit dem Eintrag smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd verweisen. Die Datei enthält den Benutzernamen und das Passwort eurer E-Mail-Adresse.
sudo nano /etc/postfix/sasl_passwd
Der Inhalt der Datei setzt sich zusammen aus
E-Mail-Server:Port E-Mail-Adresse:Passwort
An einem Beispiel ist das recht einfach darzustellen:
smtp.strato.de:587 :passwort
Ganz wichtig hierbei ist, dass der E-Mail-Server-Eintrag gleich dem Eintrag der main.cf entspricht. Schließt und speichert die Datei dann ab. Die sasl_passwd ist anschließend noch in eine db-Datei umzuwandeln, bevor Postfix neugestartet werden kann.
sudo postmap /etc/postfix/sasl_passwd sudo /etc/init.d/postfix restart
Den Status von postfix könnt ihr euch jederzeit mit dem Befehl anzeigen lassen:
sudo service postfix status
Wird euch keine Fehlermeldung ausgegeben, können wir den ersten Versuch zum Versenden einer E-Mail unternehmen. Gebt dazu den folgenden Befehl auf der Konsole ein:
echo "Das Leben ist schön." | mailx -s "Hello World" e-mail-adresse
Wenn alles richtig konfiguriert ist solltet ihr eine Nachricht in eurem Postfach finden. Kommt dort keine Mail an, dann ist die Log-Datei zu analysieren, die sich im Verzeichnis /var/log findet.
cat /var/log/mail.info
Gib mir gerne einen Kaffee ☕ aus!
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Motion an E-Mail-Versand anpassen
Funktioniert der E-Mail-Versand über Postfix, ist Motion noch anzupassen.
Öffnet die Konfigurationsdatei der Applikation mit einem Editor uns sucht dort nach dem Entrag on_picture_save. Ersetzt die Zeile durch:
echo 'webcam alert' | mail -a %f -s "Webcam Alert" e-mail-adresse
Die Nachricht könnt ihr auch noch personalisieren.
- Betreff = Webcam Alert
- Body = webcam alert
Ihr müsst beachten, dass bei dieser Konfiguration nur Bilder per E-Mail versendet werden. Standardmäßig erstellt die angepasste motion-Konfiguration (motion.mmalcam.con) jedoch nur Video-Dateien. Da ich die Video zum Anschauen aber angenehm finde, habe ich noch den Eintrag editier:
output_pictures off
wird zu
output_pictures on
Hier gibt es auch mehrere Möglichkeiten, was als Bild gespeichert werden kann. Die Beschreibung aus der Konfig-Datei lautet:
# Output ’normal‘ pictures when motion is detected (default: on)
# Valid values: on, off, first, best, center
# When set to ‚first‘, only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to ‚best‘.
# Picture with motion nearest center of picture is saved when set to ‚center‘.
# Can be used as preview shot for the corresponding movie.
Hat man einen Fehler bei der Konfiguration gemacht, kann man Postfix auf Werkseinstellungen zurücksetzen. Dafür einfach den Befehl auf der Konsole ausführen:
sudo dpkg-reconfigure postfix
Quellen
- ➡ http://wiki.ubuntuusers.de/Postfix
- ➡ http://wiki.ubuntuusers.de/Postfix/Erweiterte_Konfiguration
- ➡ http://www.linuxforen.de/forums/showthread.php?277106-Postfix-SMTP-Problem-mit-Strato-No-Worthy-Mech
- ➡ http://sirlagz.net/2013/02/18/how-to-automatically-emailing-motion-snapshots/
Nachtrag Januar 2016
Nachdem seit einigen Wochen Raspbian Jessie zur Verfügung steht, wollte ich wie oben beschrieben Motion installieren. Leider scheinen noch nicht alle benötigten Pakete für Jessie in den Repositories vorhanden zu sein.
Möchte man aber trotzdem Jessie und Motion zusammen verwenden, dann sollte das evtl. mit V4L2-Treiber für das Raspberry Pi-Kameramodul möglich sein. Eine Anleitung gibts hier im Blog ➡ Motion mit UV4L auf dem Raspberry Pi
Nachtrag Januar 2018
Die beiden Pakete „cyrus-imapd-2.2 cyrus-admin-2.2“ sind nicht mehr über die Standard-Repositories zu installieren, werden aber für dieses Vorhaben nicht zwingend benötigt.
Der Installationsbefehl lt. also
sudo aptitude install postfix libsasl2-modules bsd-mailx sasl2-bin
Nachtrag Oktober 2018
Im oben beschrieben Manual ist es nach wie vor möglich, dass andere Benutzer die Möglichkeit haben die Anmeldedaten für eure E-Mail-Adresse zu sehen. Damit ich Zukunft das nur privilegierte User können (= sudo nano …) können die Rechte mit diesen Befehlen angepasst werden:
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Zudem wir als Absender der Benutzername und der Hostname des Pi verwendet.
Beispiel:
Benutzername pi
Hostname: raspberry
Als Absender der E-Mail wird dann pi@raspberry angezeigt.
Mit einer weiteren Datei kann für jeden Benutzer eine eigene Absenderkennung hinterlegt werden. Dazu ist folgendes zu machen:
Öffnet die main.cf und fügt die folgende Zeile hinzu
sender_canonical_maps = hash:/etc/postfix/sender_canonical
Damit sieht der einzufügenden Block so aus
relayhost= smtp.strato.de:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd sender_canonical_maps = hash:/etc/postfix/sender_canonical smtp_sasl_security_options = noanonymous smtp_use_tls = yes smtp_enforce_tls = no smtp_tls_enforce_peername = no smtpd_tls_security_level = may
Anschließend erstellt ihr die Datei „sender_canonical“ im Verzeichnis „/etc/postfix/“
sudo nano /etc/postfix/sender_canonical
In dieser Datei tragt ihr dann für jeden Benutzernamen eine Absender-Adresse ein, z.B.
pi
Speichert die Datei und erstellt die db-Datei
sudo postmap /etc/postfix/sender_canonical
sudo service postfix restart
oder für ausführlichere Informationen
sudo systemctl restart postfix.service
Das wars, nun sollten die E-Mails von der Adresse kommen

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
Hi, dein Tut hat mir sehr weitergeholfen.Interessant wär noch, wenn du erwähnen würdest, wozu die einzelnen Zusatzpakete zu Postfix dienen.Aktuell machen viele Mailhoster Probleme, wenn man etwas, mit einer nicht zum Hoster passenen Domain, über deren SMTP Server schicken will.Nach einigem Googeln habe ich eine schnelle und für mich passende Lösung gefunden.
Da
viele Hoster aktuell das Versenden über einen anderen/unbekannten
Absender verbieten, bekommen wir beim versenden eine Fehlermeldung.
Postfix
bietet über folgenden config Eintrag (auch in main.cf) die
Möglichkeit den Absender umzuschreiben.
sender_canonical_maps
= hash:/etc/postfix/sender_canonical
Danach
folgende Datei mit mit „nano“ erstellen und den Eintrag zum
Umschreiben des eigenen Absenders erstellen.
sudo
nano /etc/postfix/sender_canonical
Inhalt:
1 User wird beim Maiversand durch 2. User ersetzt (User@Hostname
User@Maildomain):
pi@raspberrypi
Username@web.de
Nun
muss die Datei noch in ein für Postfix lesbares Datenbankformat
gebracht werden
postmap
/etc/postfix/sender_canonical
sudo /etc/init.d/postfix restartEine weiter Sache ist mir noch aufgefallen.Man könnte/sollte die Dateien sasl_passwd und sasl_passwd.db nur von root lesbar machen.
sudo chmod 600 /etc/postfix/sasl_passwdsudo chmod 600 /etc/postfix/sasl_passwd.db
Hi Salzi,
vielen Dank für den Hinweis.
Hallo Stefan,
nach viel probieren habe ich postfix nun auch zum Laufen bekommen.
Du verweist in anderen Beiträgen auf diesen Beitrag wenn es um die Einrichtung des Email-Versand geht. Könntest Du etwas dazu sagen warum du die oben genannten Pakete installiert hast? Du installierst postfix libsasl2-modules bsd-mailx cyrus-imapd-2.2 cyrus-admin-2.2 sasl2-bin
Im Tutorial https://wiki.ubuntuusers.de/Postfix/ werden nur die ersten 3 Pakete genannt und der Versand funktioniert. Du sagst in einem Nachtrag dass die beiden cyrus-Pakete nicht mehr benötigt werden. Für was waren die ursprünglich vorgesehen – und auch das sasl2-bin Paket – da diese 3 nirgends im Verlauf dieses Beitrages erwähnt werden.
Vielen Dank.
Hallo Martin,
Du findest die Informationen zu den Paketen z.B. In den Debian MANPAGES
➡ https://manpages.debian.org/jessie/cyrus-admin/cyradm.1p.en.html
Du kannst die Informationen auch direkt mit dem „apt“-Befehl abrufen. ➡ https://wiki.ubuntuusers.de/apt/apt/
Grüße
Stefan
Hallo Stefan,Bei mir funktioniert der Befehl zum Installieren der Pakete nicht.Habe mir den Pi 4 gerade erst gekauft. Liegt das an der neusten Version von dem Betriebssystem? Gibt es da noch weitere Änderungen? LG
Hallo Mia-Hinata,
welchen Befehl verwendest du?
Was bk du für eine Fehlermeldung zurück?
Grüße
Stefan
Ich hebe diesen hiervom Januar 2018 benutzt.sudo aptitude install postfix libsasl2-modules bsd-mailx sasl2-bin
Welche Meldung erhältst du, wenn du den Befehl ausführst?
Hallo Stefan,da kam immer die meldung, dass der befehl nicht existiert/ungültig ist.habe jetzt das aptitude durch apt ersetzt, das hat dann geklappt.
Hallo ich nutze ein Gmail Konnto und bekomme immer eine Warnung das die mails blockiert werden aus Sicherheitsgründen.
Gibt es hierzu eine Lösung?
Gruß
SNO
Hallo snotech,
hast du die richtigen Daten für den relayhost eingetragen?
Im aktualisierten Beitrag ist die Konfiguration für GMail abrufbar.
Grüße Stefan