Liebes Forum
Mit Py.3.2 konnte man E-Mails an mehrere Empfänger schicken, indem man eine Liste angegeben hat.
Mit Py.3.3.2 ist nur mehr ein String erlaubt.
Weiß jemand, wie man man trotzdem mehrere Empfänger erreicht? ("," oder ";" als Trennung reicht nicht, da wird nur an den ersten eine E-Mail geschickt.)
MfG Kle
Py.3.3.2: sendmail mit mehreren Empfängern
Laut Beschreibung von sendmail ist eine Liste durchaus zulässig.Kle hat geschrieben:Mit Py.3.2 konnte man E-Mails an mehrere Empfänger schicken, indem man eine Liste angegeben hat.
Mit Py.3.3.2 ist nur mehr ein String erlaubt.
Laut Beschreibung von sendmail ist eine Liste durchaus zulässig.[/quote]
Ja, mein Fehler lag nicht im sendmail sondern im
msg['To'] = email.utils.formataddr((Empfänger_Name, Empfänger_Adr))
Als Empfänger_Adr war früher eine Liste erlaubt, jetzt ist es das nicht mehr.
Vielen Dank.
Ja, mein Fehler lag nicht im sendmail sondern im
msg['To'] = email.utils.formataddr((Empfänger_Name, Empfänger_Adr))
Als Empfänger_Adr war früher eine Liste erlaubt, jetzt ist es das nicht mehr.
Vielen Dank.
email.utils.formataddr hat sich von der Dokumentation her aber seit Version 2.6 nicht geändert was diesen Parameter angeht. Vielleicht hat es früher versehentlich funktioniert.Kle hat geschrieben:Als Empfänger_Adr war früher eine Liste erlaubt, jetzt ist es das nicht mehr.
Das kommt wohl sehr stark auf die Definition von „funktioniert” an. Löst es eine Ausnahme aus? Nein. Liefert es ein sinvolles, korrektes Ergebnis? Nein, auch nicht:
Es war also schon immer ein Fehler dort eine Liste zu übergeben.
Code: Alles auswählen
In [6]: email.utils.formataddr(('Test', ['test@example.com', 'test@example.org']))
Out[6]: "Test <['test@example.com', 'test@example.org']>"
Hallo,
stehe vor dem gleichen Problem. Wie kann ich an mehrere Empfänger verschicken?
bringt
Im Netz finde ich aber auch keine andere Lösung...??
Über Tipps und Infos wäre ich sehr dankbar.
Gruß Markus
stehe vor dem gleichen Problem. Wie kann ich an mehrere Empfänger verschicken?
Code: Alles auswählen
...
empfaengerliste = ["abc@dfe.eu", "afr@dfe.eu","cme@dfe.eu","xeg@dfe.eu","klk@dfe.eu"]
msg['To'] = empfaengerliste
..
oder
..
msg['To'] = ["abc@dfe.eu", "afr@dfe.eu","cme@dfe.eu","xeg@dfe.eu","klk@dfe.eu"]
..
Komisch ist dann nur, dass die Liste nach Programmabbruch, setzen eines einzelnen Empfängers und Neustart dann doch Stück für Stück abgearbeitet wird und im email Postfach erscheint. Erst der erste Empfänger als mail, dann erster und zweiter Empfänger als separate mail, ..... bis dann doch die gesamte Liste als mail erscheint...File "can2smtp.py", line 98, in <module>
emailserver.send_message(msg)
File "/home/ffgsf/python3.4/lib/python3.4/smtplib.py", line 832, in send_message
to_addrs = [a[1] for a in email.utils.getaddresses(addr_fields)]
File "/home/ffgsf/python3.4/lib/python3.4/email/utils.py", line 118, in getaddresses
all = COMMASPACE.join(fieldvalues)
TypeError: sequence item 0: expected str instance, list found
Im Netz finde ich aber auch keine andere Lösung...??
Über Tipps und Infos wäre ich sehr dankbar.
Gruß Markus