[New-bugs-announce] [issue32814] smtplib.send_message mishandles 8BITMIME RFC 6152

Segev Finer report at bugs.python.org
Sat Feb 10 05:46:21 EST 2018


New submission from Segev Finer <segev208 at gmail.com>:

According to https://tools.ietf.org/html/rfc6152 you should only send an 8bit email body when the server advertises 8BITMIME in the EHLO, and you should declare it with BODY=8BITMIME in the MAIL command.

The default cte_type is 8bit for the new default email policy which is what will be used by smtplib.send_message when it calls BytesGenerator.flatten, but it will not set BODY=8BITMIME even if the message has any 8-bit characters. It will only set BODY=8BITMIME if the message uses any utf-8 mail/from addresses. This means that a message with ASCII addresses and an 8-bit utf-8 body will be sent without BODY=8BITMIME (I think that's actually quite common).

What should be done is checking if the server advertises 8BITMIME, and if it doesn't use cte_type=7bit; if it does we should set BODY=8BITMIME if the policy is using cte_type=8bit.

I don't know whether any real email server chokes on this. But it's best to follow the RFC, I think.

----------
components: Library (Lib), email
messages: 311947
nosy: Segev Finer, barry, r.david.murray
priority: normal
severity: normal
status: open
title: smtplib.send_message mishandles 8BITMIME RFC 6152
type: behavior
versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue32814>
_______________________________________


More information about the New-bugs-announce mailing list