From 241eda92a82b8917e53a4fa568030df268a788f2 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 18 Jul 2009 09:21:03 -0400 Subject: [PATCH] Added "to_unicode" to send_pgp_mime.flatten() 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 --- interfaces/email/interactive/send_pgp_mime.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/interfaces/email/interactive/send_pgp_mime.py b/interfaces/email/interactive/send_pgp_mime.py index 38a2437..e0451c9 100644 --- a/interfaces/email/interactive/send_pgp_mime.py +++ b/interfaces/email/interactive/send_pgp_mime.py @@ -155,7 +155,7 @@ def replace(template, format_char, replacement_text): 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. """ @@ -164,8 +164,10 @@ def flatten(msg): 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): """ -- 2.26.2