Pythonでemailを送信する方法について説明します。Python3.6で追加されたemail.message
モジュールにあるEmailMessage
を使えば、より簡潔にメッセージの作成が行えます。
以下に、EmailMessage
を使ってメールを作成し、送信する例を示します。
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
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)
このコードは、テキストとHTMLの両方の形式でメッセージを作成し、PDFファイルを添付しています。そして、SMTPサーバーを使ってメールを送信します。
このように、PythonのEmailMessage
を使うと、メールの作成と送信が簡単になります。詳細な情報はPythonの公式ドキュメントを参照してください。.