diff -r a377a4298b4e Lib/email/generator.py --- a/Lib/email/generator.py Wed Aug 22 23:27:26 2012 -0700 +++ b/Lib/email/generator.py Fri Aug 24 01:56:10 2012 +0800 @@ -348,6 +348,9 @@ The outfp object must accept bytes in its write method. """ + def __init__(self, outfp, mangle_from_ = True, maxheaderlen = 78): + Generator.__init__(self, outfp, mangle_from_, maxheaderlen) + # Bytes versions of this constant for use in manipulating data from # the BytesIO buffer. @@ -391,6 +394,8 @@ if msg._payload is None: return if _has_surrogates(msg._payload): + if self._mangle_from_: + msg._payload = fcre.sub(">From ", msg._payload) self.write(msg._payload) else: super(BytesGenerator,self)._handle_text(msg)