Seite 1 von 1

[gelöst] Falsche Zeit beim Versenden von E-Mails mit smtplib

Verfasst: Mittwoch 21. November 2007, 20:22
von beetronic
Hi,

Ich versuche aus Python heraus E-Mails mittels smtplib zu verschicken, wie hier beschrieben ...

http://www.python-forum.de/topic-7048.html

Das funktioniert auch alles, allerdings wird die Versandzeit der E-Mail mit 01.01.1970, 01:00 angegeben. Wie kann ich diese Zeit auf das aktuelle Datum/Zeit setzen? Oder ist das ein Problem des SMTP Server?

Dank + Gruss, BT

Verfasst: Mittwoch 21. November 2007, 20:50
von Leonidas
`simplemail.py` setzt das Datum auf das aktuelle Datum (via `time.time()`), wenn es nicht angegeben ist. Alternativ kannst du mal versuchen, das Datum selbst zu setzen.

Verfasst: Mittwoch 21. November 2007, 21:38
von beetronic
Leonidas hat geschrieben:`simplemail.py` setzt das Datum auf das aktuelle Datum (via `time.time()`), wenn es nicht angegeben ist. Alternativ kannst du mal versuchen, das Datum selbst zu setzen.
Hmm, simplemail.py könnte ich sicherlich probieren. Ich würde es aber lieber mit den Python-eigenen Bordmitteln versuchen. Sollte doch auch funktionieren, oder?

noch eine Ergänzung ...

ich habe mir mal mit Thunderbird den Quellcode der E-Mail angesehen und dort finde ich mehrere Datums- und Zeitangaben, die aber alle korrekt sind, z.B. ...

Received: (qmail 1289 invoked from network); 21 Nov 2007 20:06:04 -0000

Ich frage mich woher das falsche Datum kommt. Meine Vermutung ist, die Zeitangabe, die für die korrekte Darstellung im Email-Client benötigt wird fehlt ganz einfach. :(

Verfasst: Mittwoch 21. November 2007, 21:54
von beetronic
Hab gerade die Lösung gefunden. Man muss Zeit/Datum explizit übergeben ...

Code: Alles auswählen

...
from email.Utils import formatdate
msg['Date'] = formatdate()
...
Gruss, BT