Python3.3 email policy date field

MRAB python at mrabarnett.plus.com
Thu Aug 23 07:36:01 EDT 2012


On 23/08/2012 09:30, Helmut Jarausch wrote:
> Hi,
>
> in response to a bug report I got the follow helpful comments from R. David Murray.
> Many thanks to him. (Unfortunately, I don't know his email, so I can write him directly)
>
> To generate an email (with non-ascii letters)
>
> R. David Murray wrote:
>
>>>> But even better, so will this:
>
>>>> m = Message(policy=policy.SMTP)
>>>> m['From'] = "Günter Weiße <jarausch at igpm.rwth-aachen.de>"
>
>
>
>
> This works, but now I cannot add a date field
>
> Trying
>
> m['Date'] = datetime.datetime.utcnow().strftime('%m/%d/%Y %I:%M:%S %p')
>
> I get
>
> Traceback (most recent call last):
>    File "Test_EMail_Py3_4.py", line 23, in <module>
>      msg['Date'] = datetime.datetime.utcnow().strftime('%m/%d/%Y %I:%M:%S %p')
>    File "/usr/lib64/python3.3/email/message.py", line 359, in __setitem__
>      self._headers.append(self.policy.header_store_parse(name, val))
>    File "/usr/lib64/python3.3/email/policy.py", line 119, in header_store_parse
>      return (name, self.header_factory(name, value))
>    File "/usr/lib64/python3.3/email/headerregistry.py", line 583, in __call__
>      return self[name](name, value)
>    File "/usr/lib64/python3.3/email/headerregistry.py", line 194, in __new__
>      cls.parse(value, kwds)
>    File "/usr/lib64/python3.3/email/headerregistry.py", line 300, in parse
>      value = utils.parsedate_to_datetime(value)
>    File "/usr/lib64/python3.3/email/utils.py", line 243, in parsedate_to_datetime
>      *dtuple, tz = __parsedate_tz(data)
> TypeError: 'NoneType' object is not iterable
>
 From what I've tried, it looks like the date can't be a string:

 >>> m['Date'] = datetime.datetime.utcnow()
 >>> m['Date']
'Thu, 23 Aug 2012 11:33:20 -0000'




More information about the Python-list mailing list