【Python3】gmailからメール送信プログラム

最近、gmailメールって認証周り厳しくなってきてません?(私だけ?)そのためか、メールに関することをよくお勉強させてもらっています。

今回はpythonでgmailのsmtpサーバー経由でメールを送信するプログラムを勉強してみました。

2022年7月現在、gmailのsmtpサーバーを使う場合、googleアカウントの2段階認証を有効にして、アプリパスワードというものを発行する必要があります。

アプリパスワード発行方法はとても簡単なので、オフィシャルのリンクで取得できます。
https://support.google.com/accounts/answer/185833?hl=ja


さて、アプリパスワードが準備できたら、早速プログラムを書いていきます。

import os
import smtplib
from email.mime.text import MIMEText
from dotenv import load_dotenv

load_dotenv()
ACCOUNT = os.getenv('GMAIL_ACCOUNT')
PASSWORD = os.getenv('GMAIL_PASSWORD')

FROM = os.getenv('GMAIL_ACCOUNT')
TO = "XXXXXXXX@gmail.com"

message = "Hello, this email is sending from python program."
msg = MIMEText(message, "html")
msg['Subject'] = "Hello from python"
msg["To"] = TO
msg["From"] = FROM

server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(ACCOUNT, PASSWORD)
server.send_message(msg)
server.quit()

①load_dotenv()で.env(Googleアカウント認証情報)を読み込み
②送信元、送信先のメールアドレスを定義
③MIMEのメッセージを作成
④Gmailのsmtpサーバーに接続&送信

無事にメールが送信できていることを確認しました。

Please share this page: