be-handle-mail wants unicode output, since all it's internal
processing is done with unicode. However, the flatten calls in
send_pgp_mime work with the encoded binary string output, and
execute(sendmail, stdin=flatten(msg, to_unicode=True)) fails
with
Exception: u
while executing /usr/sbin/sendmail -t
sendmail: fatal: wking(1001): No recipient addresses found in message header
str = regexp.sub(replacement_text, str)
return str
-def flatten(msg):
+def flatten(msg, to_unicode=False):
"""
Produce flat text output from an email Message instance.
"""
g = Generator(fp, mangle_from_=False)
g.flatten(msg)
text = fp.getvalue()
- encoding = msg.get_content_charset()
- return unicode(text, encoding=encoding)
+ if to_unicode == True:
+ encoding = msg.get_content_charset()
+ text = unicode(text, encoding=encoding)
+ return text
def source_email(msg, return_realname=False):
"""