Pythonで実現!Gmailの不要なメールを指定した条件で自動削除して受信トレイをスッキリ保つ方法

Gmailの不要なメールを指定した条件で自動削除するPythonプログラムを紹介

この記事では、PythonとGmail APIを使って、特定の条件に基づいてメールを自動でゴミ箱に移動させるスクリプトの紹介です。
一度設定してしまえば、あなたの代わりにスクリプトが受信トレイを綺麗に保ってくれます!

このスクリプトでできること:
  • 「この送信元からのメールは全部いらない」といった、送信者アドレスに基づいた一括削除。
  • 「この送信元からで、件名に『セール』と含まれていたら削除」といった、より細かい条件での削除。
  • 柔軟な条件設定で、あなただけの条件でメールの整理を自動化できます。

準備するもの

スクリプトを作成する前に、以下の準備が必要です。

  • Python 3がインストールされた環境
  • Googleアカウント
  • Google Cloud Platformプロジェクト

Step 1: Google CloudでGmail APIを有効化する

まず、スクリプトがGmailにアクセスするための「鍵」を取得します。この鍵は`credentials.json`というファイルで、Google Cloud Platformからダウンロードします。

  1. Google Cloud Consoleにアクセスし、新しいプロジェクトを作成します。
  2. 左側のメニューから「APIとサービス」 > 「ライブラリ」を選択します。
  3. 検索バーに「Gmail API」と入力し、Gmail APIを有効にします。
  4. 「APIとサービス」 > 「認証情報」に移動し、「+ 認証情報を作成」をクリックして「OAuthクライアントID」を選択します。
  5. アプリケーションの種類で「デスクトップアプリ」を選び、クライアントIDを作成します。
  6. 作成されたクライアントIDの右側にあるダウンロードボタンをクリックし、`credentials.json`という名前でファイルを保存します。このファイルは、後で作成するスクリプトと同じフォルダに配置してください。

Step 2: プロジェクトのセットアップ

フォルダの作成とファイルの配置

PC上に好きな名前でフォルダを作成し(例: `gmail-deleter`)、その中に先ほどダウンロードした`credentials.json`を移動します。

必要なライブラリのインストール

このスクリプトはいくつかの外部ライブラリを使用します。まず、`requirements.txt`というファイルを作成し、以下の内容を記述してください。

requirements.txt
google-api-python-client
google-auth-oauthlib
PyYAML

そして、ターミナル(コマンドプロンプト)で以下のコマンドを実行し、ライブラリをインストールします。

bash
pip install -r requirements.txt

Step 3: メインのPythonスクリプトを作成する

`delete_mail.py`を作成します。以下のコードをコピーして、ファイルに貼り付けてください。

delete_mail.py

Step 4: 削除条件を定義する (`rules.yml`)

どのようなメールを削除するか、具体的な条件を`rules.yml`というファイルに記述します。

rules.yml
delete_rules:
  # ルール1: newsletter@example.comからのメールをすべて削除
  - email: 'newsletter@example.com'

  # ルール2: promotions@example.comからで、件名に「期間限定」が含まれるメールを削除
  - email: 'promotions@example.com'
    Subject: '期間限定'

  # ルール3: info@example.jpからで、本文に「当選」が含まれるメールを削除
  - email: 'info@example.jp'
    Body: '当選'

Step 5: スクリプトの実行

ターミナルで以下のコマンドを実行してください。

bash
python delete_mail.py
注意:このスクリプトはメールをゴミ箱に移動させます。条件設定は慎重に行い、最初は不要なメールが確実に削除されるか、テスト用のメールアドレスなどで試すことをお勧めします。

コメント