diff -r 2b3fb2398f45 Lib/email/charset.py --- a/Lib/email/charset.py Wed Mar 16 22:11:09 2011 -0400 +++ b/Lib/email/charset.py Thu Mar 17 12:20:01 2011 -0400 @@ -390,7 +390,9 @@ if self.body_encoding is BASE64: if isinstance(string, str): string = string.encode(self.output_charset) - return email.base64mime.body_encode(string) + cteinput = b'\r\n'.join(string.splitlines()) + ( + b'\r\n' if string[-1] in b'\r\n' else b'') + return email.base64mime.body_encode(cteinput) elif self.body_encoding is QP: return email.quoprimime.body_encode(string) else: