This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tarao1006
Recipients docs@python, eric.smith, tarao1006
Date 2021-12-06.16:51:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1638809518.8.0.370862003574.issue45994@roundup.psfhosted.org>
In-reply-to
Content
There are the simplest example to send text email and a little bit complicated example to an email with some files.

However, beginners like me want simple example to create an email composed of the combination of multipart/alternative and multipart/mixed.

There are many web sites to explain sending an email composed of multipart/alternative and multipart/mixed, but all of them use MIMEText and MIMEMultipart, which can be replaced and simplified with EmailMessage like below.

```
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg['From'] = 'from@example.com'
msg['To'] = 'to@example.com'
msg['Subject'] = 'Subject'

msg.add_alternative('Hello, world.', subtype='text')
msg.add_alternative('<h1>Helo, world.</h1>', subtype='html')
with open('example.pdf', 'rb') as f:
    msg.add_attachment(
        f.read(),
        maintype='application',
        subtype='pdf',
        filename='example.pdf'
    )

with smtplib.SMTP('SMTP_HOST', 'SMTP_PORT') as smtp:
    smtp.starttls()
    smtp.login('USER', 'PASSWORD')
    smtp.send_message(msg)
```

Of cause I know we can obtain the code above from the combination of existing example codes, but it's a little bit difficult.

I guess the reason why they cannot find simple way partially because the official documentation does not provide example.
History
Date User Action Args
2021-12-06 16:51:58tarao1006setrecipients: + tarao1006, eric.smith, docs@python
2021-12-06 16:51:58tarao1006setmessageid: <1638809518.8.0.370862003574.issue45994@roundup.psfhosted.org>
2021-12-06 16:51:58tarao1006linkissue45994 messages
2021-12-06 16:51:58tarao1006create