This is really a bug with earlier versions of Python, I
believe. MM2.0.x uses the standard library function
rfc822.parseaddr() to break and address into its realname +
email constituent parts. Here are some examples:
% python
Python 2.2.1 (#1, Apr 22 2002, 17:14:12)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "help", "copyright", "credits" or
"license" for more
information.
>>> from rfc822 import parseaddr
>>> parseaddr('Mr. Bad <email address hidden>')
('Mr. Bad', '<email address hidden>')
% python2.1
Python 2.1.3 (#1, Apr 22 2002, 18:17:38)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "copyright", "credits" or "license" for
more information.
>>> from rfc822 import parseaddr
>>> parseaddr('Mr. Bad <email address hidden>')
('', 'Mr.Bad')
So this is clearly broken in Python 2.1.3, and works in
Python 2.2.1. I'll look at backporting the fix to Python
2.1 in case there's ever a 2.1.4. But if you're using an
earlier version of Python, this will still be broken.
Consider upgrading to Python 2.2.1.
This is really a bug with earlier versions of Python, I
believe. MM2.0.x uses the standard library function
rfc822.parseaddr() to break and address into its realname +
email constituent parts. Here are some examples:
% python
Python 2.2.1 (#1, Apr 22 2002, 17:14:12)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "help", "copyright", "credits" or
"license" for more
information.
>>> from rfc822 import parseaddr
>>> parseaddr('Mr. Bad <email address hidden>')
('Mr. Bad', '<email address hidden>')
% python2.1
Python 2.1.3 (#1, Apr 22 2002, 18:17:38)
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "copyright", "credits" or "license" for
more information.
>>> from rfc822 import parseaddr
>>> parseaddr('Mr. Bad <email address hidden>')
('', 'Mr.Bad')
So this is clearly broken in Python 2.1.3, and works in
Python 2.2.1. I'll look at backporting the fix to Python
2.1 in case there's ever a 2.1.4. But if you're using an
earlier version of Python, this will still be broken.
Consider upgrading to Python 2.2.1.