Seite 1 von 1
Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Mittwoch 3. Juli 2013, 13:56
von Kle
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
Re: Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Mittwoch 3. Juli 2013, 14:52
von /me
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.
Re: Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Donnerstag 11. Juli 2013, 12:56
von Kle
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.
Re: Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Donnerstag 11. Juli 2013, 13:57
von /me
Kle hat geschrieben:Als Empfänger_Adr war früher eine Liste erlaubt, jetzt ist es das nicht mehr.
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.
Re: Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Donnerstag 11. Juli 2013, 16:58
von BlackJack
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:
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']>"
Es war also schon immer ein Fehler dort eine Liste zu übergeben.
Re: Py.3.3.2: sendmail mit mehreren Empfängern
Verfasst: Freitag 9. Mai 2014, 13:58
von mgolbs
Hallo,
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"]
..
bringt
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
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...
Im Netz finde ich aber auch keine andere Lösung...??
Über Tipps und Infos wäre ich sehr dankbar.
Gruß Markus