[Mailman-Users] diacritics in from header with from_is_list set to munge

Mark Sapiro mark at msapiro.net
Wed Jan 20 20:24:21 EST 2016

On 01/20/2016 04:23 PM, Stephen J. Turnbull wrote:
> Mark Sapiro writes:
>  > In any case, the From: I see is
>  > 
>  > From: valérie via List1 <list1 at msapiro.net>
>  > 
>  > which is technically not valid because it contains a non-ascii
>  > character, but even so, the message with that exact From: header is
>  > accepted by Yahoo and delivered to my Yahoo address.
> Really?  It's not that you're looking at this in your MUA and it's
> being silently MIME-encoded and -decoded at the MTA/MUA boundary?
> ISTR that Yahoo! is quite sensitive to non-ASCII headers.

Really.  In my initial test, I sent from mutt and mutt kindly RFC2047
encoded the name for me, so I switched to testing using Mailman's
bin/inject to post the raw message from a file, and I looked at the raw
message source of the message I received in my Yahoo inbox and the header is

From: valérie via List1 <list1 at msapiro.net>

where é is the utf-8 encoding of e-acute.

> One thing I've seen is this:
>     in MUA UI:    From: auser at example.com (non-ASCII display name)
>     on the wire:  From: auser at example.com =?utf-8?Q?(non-ASCII display name)?=
> which gets bounced at many sites because the MIME-word hides the
> comment delimiters from the receiver's parser, which typically rejects
> with "= not allowed here" or something like that.  Is it possible that
> Mailman is doing something like that?

Yes, I see where that would be an issue, but as far as Mailman is
concerned, this would only be an issue if the incoming post had that
From: header.

With a message containing

From: auser at example.com =?utf-8?Q?(non-ASCII_display_name)?=

the code Mailman uses to parse the From: will return
'non-ASCII_display_name' as the display name and
'auser at example.com=?utf-8?Q??=' as the address. This is clearly wrong,
but then the the encoded header is not RFC2047 compliant. RFC 2047, sec
5(2) is clear that an encoded-word in a comment does not include the
parentheses. It defines comment as

comment = "(" *(ctext / quoted-pair / comment / encoded-word) ")"

Mailman would never create a header like that.

Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list