Taiga Katarao <taiga4...@gmail.com> added the comment:

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'] = 'f...@example.com'
msg['To'] = 't...@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.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45994>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to