[Mailman-Developers] mailman misparses non RFC 822 compliant Email addresses
Dan Mick
Dan Mick <dmick@utopia.West.Sun.COM>
Thu, 12 Apr 2001 19:48:53 -0700 (PDT)
>
> >>>>> "MM" == Marc MERLIN <marc_news@valinux.com> writes:
>
> MM> Correct. I haven't found the right piece of code in mailman
> MM> yet, but it smells like a regular expression that grabs the
> MM> wrong pattern and ends up with davide.fox instead of
> MM> dfox@m206-157.dsl.tsoft.com
>
> I suspect the problem is in Python's rfc822 module:
>
> >>> a = rfc822.AddrlistClass('David E.Fox <dfox@m206-157.dsl.tsoft.com>')
> >>> a.getaddrlist()
> [('', 'DavidE.Fox'), ('', 'dfox@m206-157.dsl.tsoft.com')]
>
> Mailman, interestingly enough, has Utils.ParseAddrs() which appears to
> try to work around problems in rfc822:
>
> >>> ParseAddrs('David E.Fox <dfox@m206-157.dsl.tsoft.com>')
> 'dfox@m206-157.dsl.tsoft.com'
>
> which seems to suck out the right address in this case. What should
> probably in MM2.1 is for MailList.HasExplicitDest() to fallback on the
> output of ParseAddrs() if the rfc822 method doesn't match.
I'm coming to this late, but: we all agree that
David E.Fox <dfox@m206-157.dsl.tsoft.com>
is not a legal RFC822 address, right?
Strings containing spaces must-repeat-must be enclosed in
doublequotes:
"David E.Fox" <dfox@m206-157.dsl.tsoft.com>
I see the subject, but: why is this considered to be a "problem"
in rfc822, rather than a problem in the mail format? I would
expect other MTAs and MUAs to barf on this too.