--- f:/test-mailman-2.1/Mailman/Handlers/Decorate.py 2008-06-11 15:09:34.000000000 -0700 +++ f:/test-mailman/Mailman/Handlers/Decorate.py 2008-10-28 08:53:30.156250000 -0700 @@ -98,8 +98,18 @@ # TK: Try to keep the message plain by converting the header/ # footer/oldpayload into unicode and encode with mcset/lcset. # Try to decode qp/base64 also. - uheader = unicode(header, lcset, 'ignore') - ufooter = unicode(footer, lcset, 'ignore') + if isinstance(header, str): + uheader = unicode(header, lcset, 'ignore') + elif isinstance(header, unicode): + uheader = header + else: + assert False, 'Adding msg_header: header not string or unicode' + if isinstance(footer, str): + ufooter = unicode(footer, lcset, 'ignore') + elif isinstance(footer, unicode): + ufooter = footer + else: + assert False, 'Adding msg_footer: footer not string or unicode' try: oldpayload = unicode(msg.get_payload(decode=True), mcset) frontsep = endsep = u''