【Python × Outlook】SMTPでメールを送信する方法|テキスト本文のみのシンプルな実装

目次

概要

Pythonでスクリプトを自動化している中で、Outlookを使ってメールを送れたら便利だなと思い、
今回は PythonからOutlookのSMTPサーバーを利用してメールを送信する方法を学びました。

メール通知を自動化することで、処理完了の報告やアラート送信などに活用できます。

実現したい仕様

  • 件名と本文を指定してメールを送信
  • 送信元・送信先は任意のアドレスに設定
  • OutlookのSMTPサーバーを利用(ポート587 + STARTTLS)

実装コード(Python)

import smtplib
from email.mime.text import MIMEText

# メール内容の設定
subject = "Hello World"
body = "Hello World at Midnight"
sender_email = "your-email@outlook.com"
receiver_email = "receiver-email@example.com"
password = "your-email-password"

# メール本文をMIMETextで作成
message = MIMEText(body)
message["Subject"] = subject
message["From"] = sender_email
message["To"] = receiver_email

# SMTPサーバーへ接続(Outlookの場合)
server = smtplib.SMTP("smtp-mail.outlook.com", 587)
server.starttls()
server.login(sender_email, password)

# メール送信
server.sendmail(sender_email, receiver_email, message.as_string())
server.quit()

各項目の補足

  • MIMEText() はテキスト形式のメールを作成するためのクラスです
  • smtp-mail.outlook.com はOutlookのSMTPホスト名、ポート587はSTARTTLS用
  • server.starttls() によって、通信が暗号化されます
  • server.login() にはOutlookのログイン情報を使用します(2段階認証の場合はアプリパスワードが必要)

実行時の注意点

  • 以下3つは自分の環境に合わせて正しい情報に変更してください
sender_email = "your-email@outlook.com"
receiver_email = "receiver-email@example.com"
password = "your-email-password"
  • Outlookが2段階認証を使用している場合は、通常のパスワードではなくアプリパスワードが必要です
  • Outlook側の「安全性の低いアプリの許可」などの設定によって、接続が制限される場合もあります

まとめ

  • PythonからOutlookメールを送信するには、smtplibemail.mime.textを使用
  • MIMETextで本文を作成し、SMTPサーバーへ接続して送信するだけ
  • 自動レポートや通知メールなど、様々な用途に応用可能

Pythonでのメール送信にチャレンジしたい方の参考になれば幸いです。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次