PythonでHTML形式のメールを送信する方法について説明します。この記事では、email.messageモジュールのEmailMessageクラスを使用してメールを作成し、そのメールをSMTPサーバーを通じて送信する方法を示します。

EmailMessageを使用したメールの作成

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>Hello, world.</h1>', subtype='html')

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

このコードでは、まずEmailMessageのインスタンスを作成し、そのインスタンスに対して送信者、受信者、件名を設定します。その後、add_alternativeメソッドを使用して、テキスト形式とHTML形式の両方の本文をメッセージに追加します。

メールの送信

メールの送信にはSMTPクラスを使用します。このクラスのインスタンスを作成した後、starttlsメソッドを呼び出してTLSを開始し、loginメソッドを使用してSMTPサーバーにログインします。最後に、send_messageメソッドを使用してメールを送信します。

以上がPythonでHTMLメールを送信する基本的な方法です。この方法を使用すれば、Pythonスクリプトから直接HTMLメールを送信することが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です