Pythonでメールを自動送信・受信する方法【Gmail対応/初心者向け】
Pythonを使えば、メールの自動送信・受信もカンタンにできます!
通知システムやリマインダー、監視ツールとの連携にも役立つテクニックです。
今回は、Gmailを使ったPythonメール自動化の入門記事として、送信・受信それぞれの基本コードを紹介します。
できること(実用例)
- 商品価格が安くなったら通知メールを自動送信
- エラー発生時に管理者に即時メール
- Gmailの特定メールを自動解析(受信処理)
- WordPressやECサイトの在庫管理通知に応用
1. Gmailからメールを自動送信する方法
事前準備(Gmailの設定)
Gmailのアカウントで以下を有効にしておく必要があります:
- Googleアカウント設定 → 「セキュリティ」
- 「2段階認証」を有効化
- 「アプリ パスワード」を作成(用途例: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では imaplib
と email
ライブラリを使って、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ツールとの連携にとても便利です。
特に「特定の条件で通知したい」「受信したメールで何かしたい」といった場合、自動化の第一歩としておすすめです!
ディスカッション
コメント一覧
まだ、コメントがありません