From 81f21c696edc1396115250ffb06e8a39da366015 Mon Sep 17 00:00:00 2001 From: Konstantin Ryabitsev Date: Fri, 2 Oct 2020 21:12:25 -0400 Subject: Fix header encoding introduced by earlier fix It seems we don't have much control over what as_bytes() does, so switch to using as_string(), setting our policy, and making sure that content-transfer-encoding is set to 8bit. Reported-by: Mark Brown Signed-off-by: Konstantin Ryabitsev --- b4/ty.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/b4/ty.py b/b4/ty.py index cbee06a..83209eb 100644 --- a/b4/ty.py +++ b/b4/ty.py @@ -427,8 +427,9 @@ def send_messages(listing, gitdir, outdir, branch, since='1.week'): outfile = os.path.join(outdir, '%s.thanks' % slug) logger.info(' Writing: %s', outfile) msg.set_charset('utf-8') - with open(outfile, 'wb') as fh: - fh.write(msg.as_bytes()) + msg.replace_header('Content-Transfer-Encoding', '8bit') + with open(outfile, 'w') as fh: + fh.write(msg.as_string(policy=b4.emlpolicy)) logger.debug('Cleaning up: %s', jsondata['trackfile']) fullpath = os.path.join(datadir, jsondata['trackfile']) os.rename(fullpath, '%s.sent' % fullpath) -- cgit v1.2.3