diff --git a/postmark/models.py b/postmark/models.py index 23997b6..a97ce09 100755 --- a/postmark/models.py +++ b/postmark/models.py @@ -5,6 +5,7 @@ from datetime import datetime from pytz import timezone import pytz +import iso8601 from postmark.signals import post_send @@ -101,16 +102,10 @@ def sent_message(sender, **kwargs): if not recipient[0]: continue - - timestamp, tz = resp["SubmittedAt"].rsplit("+", 1) - tz_offset = int(tz.split(":", 1)[0]) - tz = timezone("Etc/GMT%s%d" % ("+" if tz_offset >= 0 else "-", tz_offset)) - submitted_at = tz.localize(datetime.strptime(timestamp[:26], POSTMARK_DATETIME_STRING)).astimezone(pytz.utc) - - + emsg = EmailMessage( message_id=resp["MessageID"], - submitted_at=submitted_at, + submitted_at=iso8601.parse_date(resp["SubmittedAt"]), status=resp["Message"], to=recipient[0], to_type=recipient[1], @@ -123,4 +118,4 @@ def sent_message(sender, **kwargs): headers=msg.get("Headers", ""), attachments=msg.get("Attachments", "") ) - emsg.save() \ No newline at end of file + emsg.save() diff --git a/setup.py b/setup.py index 32eb52f..9c82b33 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ install_requires = [ "httplib2", "pytz", + "iso8601", ], packages = [ "postmark",