🔹 Pythonでメールを自動送信・受信する方法【Gmail対応/初心者向け】

Pythonを使えば、メールの自動送信・受信もカンタンにできます!
通知システムやリマインダー、監視ツールとの連携にも役立つテクニックです。

今回は、Gmailを使ったPythonメール自動化の入門記事として、送信・受信それぞれの基本コードを紹介します。


✅ できること(実用例)

  • 商品価格が安くなったら通知メールを自動送信
  • エラー発生時に管理者に即時メール
  • Gmailの特定メールを自動解析(受信処理)
  • WordPressやECサイトの在庫管理通知に応用

✉️ 1. Gmailからメールを自動送信する方法

🔧 事前準備(Gmailの設定)

Gmailのアカウントで以下を有効にしておく必要があります:

  1. Googleアカウント設定 → 「セキュリティ」
  2. 「2段階認証」を有効化
  3. 「アプリ パスワード」を作成(用途例:Python Mail)

→ 発行された「16桁のパスワード」を控えておく


✏️ Pythonコード(送信)

pythonコピーする編集するimport smtplib
from email.mime.text import MIMEText

# Gmailの情報
from_email = "あなたのGmailアドレス@gmail.com"
app_password = "アプリパスワード"  # 16桁
to_email = "送信先のメールアドレス"

# メール内容
subject = "テストメール"
body = "Pythonからの自動送信メールです。"

msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = from_email
msg["To"] = to_email

# SMTP接続
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(from_email, app_password)
server.send_message(msg)
server.quit()

print("✅ メール送信完了")

📥 2. Gmailからメールを自動受信する方法

Pythonでは imaplibemail ライブラリを使って、Gmailからメールを読み取れます。


✏️ Pythonコード(受信)

pythonコピーする編集するimport imaplib
import email
from email.header import decode_header

# Gmailログイン情報
user = "あなたのGmailアドレス@gmail.com"
app_password = "アプリパスワード"

# IMAPサーバーに接続
mail = imaplib.IMAP4_SSL("imap.gmail.com")
mail.login(user, app_password)

mail.select("inbox")  # 受信トレイを選択

# 最新1件のメールを取得
status, messages = mail.search(None, "ALL")
mail_ids = messages[0].split()
latest_id = mail_ids[-1]

status, msg_data = mail.fetch(latest_id, "(RFC822)")
msg = email.message_from_bytes(msg_data[0][1])

subject = decode_header(msg["Subject"])[0][0]
if isinstance(subject, bytes):
    subject = subject.decode()

print("📩 最新メール件名:", subject)

mail.logout()

⚠️ 注意点

  • 通常のパスワードでは送信/受信できません(必ず「アプリパスワード」を使ってください)
  • Gmail側のセキュリティが強いので、エラーが出る場合はアクセス許可や2段階認証の確認を

💡 応用アイデア

  • 「Keepa」や「メルカリ」から届いた価格通知メールを自動で読み取って処理
  • エラー時にSlack+メールで通知する多重アラート
  • 定期レポートをメールで自動配信

✅ まとめ:Python × Gmailで通知・連携が一気に便利に!

Pythonでのメール操作は、日々の作業やWebツールとの連携にとても便利です。
特に「特定の条件で通知したい」「受信したメールで何かしたい」といった場合、自動化の第一歩としておすすめです!

未分類

Posted by かーず