In diesem kurzen Beitrag zeigen wir dir wie du schnell und einfach mit Python eine E-Mail versenden kannst. Da Python auch auf deinem Raspberry Pi laufen kann, kannst du dies mit in deine Projekte integrieren.

Wenn noch nicht geschehen, müssen wir zunächst python3 installieren:

$ sudo apt install python3 pip

Kommen wir nun zum interessten Teil. Das versenden der Emails. Unser Skript dazu sieht so aus:

import smtplib
import ssl
from email.mime.text import MIMEText

port = 465  # server port (SSL)
smtp = 'smtp.foo.bar'  # SMTP server
password = 's3cur3_p4ssw0rd'  # dein Passwort
user = 'test@foo.bar'  # dein Nutzername
sender_email = 'test@foo.bar'  # deine email
receiver_email = 'mail@foo.bar'  # Empfänger email
subject = 'Betreff'  # dein Betreff
# deine Nachricht
text = 'Hello World!\n' \
       '- Diese Email wurde von Python versendet.'

message = MIMEText(text, 'plain')
message['Subject'] = subject
message['From'] = sender_email
message['To'] = receiver_email

with smtplib.SMTP_SSL(smtp, port, context=ssl.create_default_context()) as server:
    server.login(user, password)
    server.sendmail(sender_email, receiver_email, message.as_string())

In den Zeilen 5 bis 8 kannst du die Einstellungen für den SMTP Server anpassen. Dise variieren je nach E-Mail Dienst. Suche einfach auf der Seite deines Anbieters nach den SMTP Einstellungen. Achte dabei darauf, dass unser Skript nur mit SSL/TLS funktioniert (kein STARTTLS). Den Port 465 musst du also wahrscheinlich nicht anpassen. Achte auch darauf, das bei den meisten Anbietern user und sender_email (Zeile 9) identisch sind – das ist allerdings nicht immer der Fall. user ist der Benutzername, mit dem du dich bei dem SMTP Server einloggst und sender_email ist die E-Mail-Adresse, von der die E-Mail versendet wird.

Wenn du alles angepasst hast, könntest du das Skript jetzt schon auführen, wir erklären dir aber kurz noch, was in den letzen Zeilen passiert:
In Zeile 10 setzen wir den Empfänger der E-Mail fest und in Zeile 11 bis 14 kannst du den Betreff und den Inhalt deiner E-Mail anpassen.
In den Zeilen 16 bis 19 erstellen wir dann die eigentliche E-Mail und formatieren sie so, dass der Server diese auch lesen kann.
Im letzten Abschnitt verbinden wir uns in Zeile 21 mit dem SMTP Server, loggen uns in Zeile 22 mit den vorher definierten Daten ein und senden die E-Mail in Zeile 23 dann ab.

Um das Skript jetzt endlich auch zu testen starten wir es einfach mit diesem Befehl:

$ python3 emailVersenden.py