Pythonでメール作成・自動送信

Python

使用モジュール

Python標準モジュールの smtplib, email.mime.textを使用します。
ライブラリ :smtplib(公式ドキュメント)
インストール:不要
https://docs.python.org/ja/3/library/smtplib.html

ライブラリ :email.mime.text (公式ドキュメント)
インストール:不要
https://docs.python.org/ja/3/library/email.mime.html

smtplibは、SMTPプロトコルクライアントの機能を備えたモジュールです。 SMTPを利用することでメールの送受信が可能になります。

email.mime.textはMIMEオブジェクトを作成するために使用します。

Pythonでメールを作成して自動送信する

# PRG1: ライブラリ設定
import smtplib
from email.mime.text import MIMEText

# PRG2: メール情報の設定
from_email ='*****@gmail.com'
to_email = '宛先メールアドレス'
cc_mail = ''
mail_title = 'メール件名'
message = '''
メール本文を記入
'''

# PRG3: MIMEオブジェクトでメールを作成
msg = MIMEText(message, 'plain')
msg['Subject'] = mail_title
msg['To'] = to_email
msg['From'] = from_email
msg['cc'] = cc_mail

# PRG4: サーバを指定してメールを送信する
smtp_host = 'smtp.gmail.com'
smtp_port = 587
smtp_password = 'Gmailで取得したアプリパスワード'

server = smtplib.SMTP(smtp_host, smtp_port)
server.starttls()
server.login(from_email, smtp_password)
server.send_message(msg)
server.quit()

解説

import smtplib
from email.mime.text import MIMEText

SMTPでメールを送信するために smtplib、MIME形式でメールを作成するために email.mime.textモジュールからMIMETextクラスをインポートします。

msg = MIMEText(message, ‘plain’)

MIMETextクラスの第一引数にメール本文 message、第二引数にメール形式 'plain'を指定して、MIMEオブジェクトを生成します。HTML形式のメールを送付したい場合は、メール形式に 'html'を指定します。

server = smtplib.SMTP(smtp_host, smtp_port) 

smtplib モジュールの SMTP クラスで引数をサーバアドレス、ポート番号を指定してオブジェクトを生成します。

server.starttls()

TLS (Transport Layer Security) モードでSMTP接続します。以降のSMTPコマンドは暗号化されます。

server.login(from_email, smtp_password)

暗号化した通信でGmailのSMTPサーバにログインします。引数のユーザ名は送信元のGmailアドレスと同じため from_email を指定します。

server.send_message(msg)

send_message()の引数にMIMEオブジェクトを指定してメールを送信します。

server.quit()

server.quit()でSMTP接続を終了してメール送信処理は完了です。

コメント