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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
beetronic
User
Beiträge: 33
Registriert: Mittwoch 2. Mai 2007, 10:23

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
Zuletzt geändert von beetronic am Mittwoch 21. November 2007, 21:54, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

`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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
beetronic
User
Beiträge: 33
Registriert: Mittwoch 2. Mai 2007, 10:23

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. :(
beetronic
User
Beiträge: 33
Registriert: Mittwoch 2. Mai 2007, 10:23

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
Antworten