SMTPサーバでPythonからメール送信してみる

前回(AWS SESでPythonからメール送信してみる)、AWS SESを使ってメール送信をしてみました。今回はAWS関係なしに、SMTPサーバを使ってみました。

と言っても、以下のようなサンプルコードで簡単にできました。

メール送信のPythonコード

import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate

smtp = smtplib.SMTP("smtp.example.com", 25)
smtp.starttls()

subject = "test mail"
email_from = "Sample <sample@gmail.com>"
email_to   = "sample_to@gmail.com"
body_msg = "Hello, World!\nHello, World!"

msg = MIMEText(body_msg)
msg['Subject'] = subject
msg['From'] = email_from
msg['To'] = email_to
msg['Date'] = formatdate()

smtp.sendmail(email_from, email_to, msg.as_string())

emailパッケージのレファレンスはこのあたり。

email.mime: Creating email and MIME objects from scratch — Python 3.9.5 documentation

メール添付も前回の記事と同じ方法でできそうです。

以上。(ブログ記事にするほどではなかった)