Einfach Mails per Python verschicken

von sparrow242

Ich hatte vor ein paar Tagen das Problem, dass ich automatisiert Dateien per Mail versenden wollte. Das ganze dummerweise auch noch auf einer Windows-Kiste was einem nicht wirklich Platz zum Atmen bietet.

Grundsätzlich sollte ein Programm aufgerufen werden das PDF-Dateien erstellt. Die sollten dann per Mail an verschiedene Empfänger verschickt werden. Das automatisierte Aufrufen funktioniert Dank des Aufgabendienstes von Windows ganz wunderbar. Das ist ein tolles Beispiel wie man etwas Einfaches (führe einmal am Tag eine Aufgabe aus) in ein mit unnützen Features überladenes Ding verwandeln kann.

Ein entsprechendes Skript lässt sich mit Python problemlos umsetzen, selbst die Module für den Mailversand sind bereits enthalten. Wer es allerdings noch einfacher haben möchte greift zu simplemail.py von Gerold.

Hier ein kleines Beispiel mit zwei Empfängern und einem Anhang. Der Versand erfolgt in diesem Fall einfach über einen SMTP-Server:

mail = simplemail.Email(
 subject = "This is a subject",
 message = "Please find attached an attachment!",
 from_address = u"mymail@example.com",
 smtp_server = u"smtp.example.com",
 smtp_user = u"anexampleuser",
 smtp_password = u"apassword",)
mail.recipients.add("someone@example.com", "Someone Smith")
mail.recipients.add("someelse@example.com", "Someone Else")
mail.attachments.add_filename("/a/file.svg")
mail.send()

Funktioniert ganz prima und tut was es soll.

— der Würschtlmann

Advertisements