bpo-41402: Fix email ContentManager calling .encode() on bytes (GH-21631)
(cherry picked from commit b33186bc43bb5aaf652dd9d093a08fdde796d499)
Co-authored-by: Johannes Reiff <mail@jreiff.de>
diff --git a/Lib/email/contentmanager.py b/Lib/email/contentmanager.py
index b91fb0e..3cf62dc 100644
--- a/Lib/email/contentmanager.py
+++ b/Lib/email/contentmanager.py
@@ -238,9 +238,7 @@ def set_bytes_content(msg, data, maintype, subtype, cte='base64',
data = binascii.b2a_qp(data, istext=False, header=False, quotetabs=True)
data = data.decode('ascii')
elif cte == '7bit':
- # Make sure it really is only ASCII. The early warning here seems
- # worth the overhead...if you care write your own content manager :).
- data.encode('ascii')
+ data = data.decode('ascii')
elif cte in ('8bit', 'binary'):
data = data.decode('ascii', 'surrogateescape')
msg.set_payload(data)