R. David Murray added the comment:

Yes, that is mostly likely why parseaddr operates the way it does.  The old 
email package does not do very much hand-holding, it expects you to understand 
the RFCs, which as you note is a rather daunting task.  The new email package 
(the new policies) in python3 aim to incorporate as much understanding of the 
RFCs into the library as possible and "do the right thing" automatically so you 
don't have to worry about it (it can't hide 100%, though...).

As for universal new line mode, you are correct that technically \n by itself 
is data per the RFC (and illegal in the middle of a quoted string like that), 
but the way Python handles "text" is to convert \r\n into \n internally.  So 
while parseaddr is doing the "right thing" per the RFC, the input parsing parts 
of the email package in fact accept \n or even mixed line endings to 
accommodate the difference between unix/python line endings and RFC line 
endings.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue31089>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to