Mailing List Archive

[issue11050] email.utils.getaddresses behavior contradicts RFC2822
Changes by R. David Murray <rdmurray@bitdance.com>:


----------
assignee: r.david.murray ->
components: +email
nosy: +barry
versions: -Python 3.1

_______________________________________
Python tracker <report@bugs.python.org>
<http://bugs.python.org/issue11050>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue11050] email.utils.getaddresses behavior contradicts RFC2822 [ In reply to ]
R. David Murray <rdmurray@bitdance.com> added the comment:

The pre 3.3 email package does not do any header unfolding. You can make this work by doing the header unfolding before passing it to getaddresses:

>>> email.utils.getaddresses([''.join(m['to'].splitlines())])
[('A (B)', 'c@d.org'), ('', 'd@e.org')]

The new provisional policy that was just added to 3.3 (which will eventually become the standard interface) does do the unfolding before parsing the addresses, so it does not have this issue. In 3.3 we now have this:

>>> import email
>>> from email.policy import SMTP
>>> m = email.message_from_string("To: \"A\r\n (B)\" <c@d.org>, (A\r\n C) <d@e.org>\r\nSubject: test\r\n\r\nbody", policy=SMTP)
>>> m['to'].addresses
(Address(display_name='A (B)', username='c', domain='d.org'), Address(display_name='', username='d', domain='e.org'))

----------
resolution: -> fixed
stage: -> committed/rejected
status: open -> closed

_______________________________________
Python tracker <report@bugs.python.org>
<http://bugs.python.org/issue11050>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com