Seite 1 von 1

E-Mail mit Thunderbird versenden

Verfasst: Freitag 7. September 2018, 14:27
von snowflake
Hallo zusammen,

ich möchte von Python aus eine E-Mail per Thunderbird versenden. Mit dem unten aufgeführten Skript funktioniert das auch. Allerdings findet kein Zeilenumbruch im "body" der E-Mail statt. Kann mir jemand sagen, was ich falsch gemacht habe?

Code: Alles auswählen

import subprocess

verzeichnis = "C:\\Program Files (x86)\\Mozilla Thunderbird\\thunderbird.exe"
mailadresse = "mailadresse1@gmail.com" + ";" + "mailadresse2@gmail.com"
betreff = "Testmail mit Thunderbird und Python"
inhalt = "Hier steht der Inhalt...\nzweite Zeile\nund noch eine Zeile\n\n"
anhang = "C:\\temp\\Verbesserungen.txt"

parameterliste = verzeichnis + " -compose " + "to='" + mailadresse + "'," + "subject='" + betreff + "'," \
+ "body='" + inhalt +"'," + "attachment='" + anhang + "'"

subprocess.Popen(parameterliste)
Vielen Dank im Voraus und ein schönes WE.

snowflake

Re: E-Mail mit Thunderbird versenden

Verfasst: Freitag 7. September 2018, 15:13
von Sirius3
Ein Fehler ist, dass Du den Aufruf als String an Popen übergibst und nicht, wie der Variablenname schon suggereirt, als Liste mit den Argumenten als einzelne Elemente. Ob das in Windows dann aber richtig escaped wird, kann ich nicht sagen.

Code: Alles auswählen

mail = "to='{}',subject='{}',body='{}',attachment='{}'".format(mailadresse, betreff, inhalt, anhang)
subprocess.Popen([verzeichnis, "-compose", mail])

Re: E-Mail mit Thunderbird versenden

Verfasst: Freitag 7. September 2018, 16:26
von snowflake
Vielen Dank Sirius3. So funktioniert es unter Windows.

Viele Grüße

snowflake