New submission from Vlastimil Zíma <vlasti...@ziima.cz>: When an `EmailMessage` is created without setting its content, it may lack the `MIME-Version` header. I encountered this behavior when creating a S/MIME signed message, but I believe it applies to any `EmailMessage` in general.
Example: from email.message import EmailMessage nested_message = EmailMessage() nested_message.set_content("Gazpacho!") env = EmailMessage() env.add_header("Content-Type", "multipart/signed", protocol="application/pkcs7-signature", micalg='sha-256') env.preamble = "This is an S/MIME signed message" env.attach(nested_message) print(str(env)) This results in a message with no `MIME-Version` header Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="===============4414940364499332856==" This is an S/MIME signed message --===============4414940364499332856== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Gazpacho! --===============4414940364499332856==-- which violates section 4 of RFC 2045, see https://datatracker.ietf.org/doc/html/rfc2045#section-4 > Messages composed in accordance with this document MUST include such a header field, with the following verbatim text: MIME-Version: 1.0 and the section doesn't seem to be obsoleted by newer MIME related RFCs. It's not clear why the `EmailMessage` shouldn't have the `MIME-Version` header defined in all cases, since it should represent the email message. I suggest to set the `MIME-version` header on `__init__` the same way `MIMEBase` does. ---------- components: email messages: 416163 nosy: Vlastimil.Zíma, barry, r.david.murray priority: normal severity: normal status: open title: EmailMessage may lack Mime-Version type: behavior versions: Python 3.10, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue47141> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com