[Mailman-i18n] Problem with header encoding on 2.1.9 - any ideas?

Wout Mertens wmertens at cisco.com
Wed Feb 13 12:43:04 CET 2008


Hi,

On Jan 18, 2008, at 1:40 AM, Tokio Kikuchi wrote:

> Wout Mertens wrote:
>> I have a problem with MailMan and Japanese ISO-2022-JP encoding.
>> When a header includes a ";" as part of the ISO-2022-JP encoding,   
>> MailMan seems to replace it with "; " (note the extra space). This   
>> messes up the characters.
>> Real-life example:
>> Original:
>> Subject: =?ISO-2022-JP?Q?607716139:_=1B$B%a%C%;!<%8%m%1!<  
>> %=3FF0:nIT6q9g=1B(B?=
>> Mailman-sent:
>> Subject: =?ISO-2022-JP?Q?607716139:_=1B$B%a%C%; !<%8%m%1!<  
>> %=3FF0:nIT6q9g=1B(B?=
>
> This is because the python email package can't distinguish between  
> structured and un-structured RFC2822 headers.  The Q-encoded  
> iso-2022-jp string contains ';' character which cause the email  
> package to think it is a syntactic separator, thus insert a space.   
> Most Japanese capable mailers use B-encoding to avoid such confusion.
>
> Workaround is rather tricky but try add a subject_prefix like  
> [listname] on the admin interface which may trigger normalization by  
> the Mailman CookHeader module.

That workaround didn't work. Instead, I used procmail with the  
following rule:

#####################
# Fix a mailman issue: When encountering Q-encoded charset headers  
(RFC2047),
# mailman will add a space after ';'. Replace it with the hex encoding  
instead.
:0 fWh
* Subject: *=\?ISO-2022-JP\?Q
| sed '/=\?ISO-2022-JP\?[qQ]\?/s/;/=3B/g'
#####################

Obviously you need to pipe the mails through procmail before giving  
them to mailman then, but at least this is a functioning workaround.

I consider this behaviour to be a bug. I'm just not sure where the bug  
is, inside MailMan or inside the email.Header package. Tokio, do you  
have any idea?

Thanks,

Wout.


More information about the Mailman-i18n mailing list