[Mailman-Users] 64 bit encoding

Ruben mrbrklyn at panix.com
Mon Nov 9 18:49:53 EST 2015



On 11/04/2015 12:10 PM, Mark Sapiro wrote:
> On 11/03/2015 06:42 PM, Ruben Safir wrote:
>> I'm converting my mailing lists from majordomo to mailman using postfix.
>>   A lot of little issues have cropped up but the biggest problem I have
>> currently is that it seems that mailman is converting files to 64 bit
>> which is screwing up my home cooked archives but good.
>
>
> Actually, Mailman is sending messages in UTF-8 character set as base64
> encoded. Actually, many MUAs will also base64 encode UTF-8 message bodies.
>
> This is actually a python email library thing. You can change the
> encoding for UTF-8 message bodies with the following patch to
> Mailman/Message.py, but if your messages are not predominately ascii
> text, you won't like the result any better.
>
> diff -u 2.1/Mailman/Message.py 21/Mailman/Message.py
> --- 2.1/Mailman/Message.py	2014-05-17 18:34:20.240159000 -0700
> +++ 21/Mailman/Message.py	2015-11-04 08:50:31.772899979 -0800
> @@ -36,6 +36,10 @@
>   from Mailman import mm_cfg
>   from Mailman import Utils
>
> +email.Charset.add_charset('utf-8',
> +                          email.Charset.SHORTEST,
> +                          email.Charset.QP,
> +                          'utf-8')
>   COMMASPACE = ', '
>
>   mo = re.match(r'([\d.]+)', email.__version__)
>

I made this change and I think I'm getting no throughput through the 
list altogether :(

I have the mail logs being tailed and all the mailman/logs but I'm not 
spotting the problem


==> /var/lib/mailman/logs/post <==
Nov 09 18:34:12 2015 (28269) post to hangout from mrbrklyn at panix.com, 
size=6608, message-id=<563AE93A.2000208 at panix.com>, 11 failures


/usr/lib/mailman/Mailman/Message.py
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import email.Message
import email.Utils
from email.Charset import Charset
from email.Header import Header

from types import ListType, StringType

from Mailman import mm_cfg
from Mailman import Utils
email.Charset.add_charset('utf-8',
                           email.Charset.SHORTEST,
                           email.Charset.QP,
                           'utf-8')

COMMASPACE = ', '

mo = re.match(r'([\d.]+)', email.__version__)
VERSION = tuple([int(s) for s in mo.group().split('.')])



More information about the Mailman-Users mailing list