Gmail クリーンアップツール (gmail-cleaner)
概要
gmail-cleanerは、Gmailアカウントの受信トレイを手早く整理するためのWebベースGUIツールです。主に「一括登録解除(bulk unsubscribe)」「特定送信者のメール一括削除」「メールの一括既読化」といった操作をワンクリックで実行できる点が特徴です。デザインはプライバシー重視で、サブスクリプションや外部へのデータ送信を行わず、処理はユーザーのローカル環境(もしくはデプロイ先の環境)で完結します。Pythonで実装され、Gmail APIを通じたOAuth2認証で安全にアカウントへアクセスします。シンプルなUIと自動化の組み合わせで、定期的なメールの断捨離作業を効率化します。(300字程度)
リポジトリの統計情報
- スター数: 57
- フォーク数: 2
- ウォッチャー数: 57
- コミット数: 5
- ファイル数: 10
- メインの言語: Python
主な特徴
- 一括登録解除(List-Unsubscribeヘッダーや本文中の解除リンクを利用)
- 送信者単位でのメール一括削除(検索→一括処理)
- メールの一括既読化(ラベル変更による既読フラグ操作)
- プライバシー重視:ローカルでトークン管理しデータ収集なし
技術的なポイント
gmail-cleanerはGmail APIを中核に据えた構成で、OAuth2経由の認可フローを用いてユーザーのメール操作を行います。典型的な動作は次のようになります:まずアプリがOAuth2でユーザーの許可を取得し、発行されたアクセストークン/リフレッシュトークンをローカルに保存(サーバ上でデプロイする場合も同様に配置)して後続のAPI呼び出しに利用します。メールの抽出はGmailの検索クエリ(from:、label:、is:unread など)を用いて行い、APIのmessages.list/messages.getでメッセージを取得します。
登録解除(unsubscribe)機能は、HTTPヘッダーのList-Unsubscribeや本文中の「unsubscribe」リンクを検出して自動でアクセスする仕組みを採るのが一般的で、本リポジトリも同様のアプローチを想定しています。サーバ側で外部サイトへアクセスして解除処理を実行するケースでは、GET/POSTリクエストのフォローやフォーム送信の再現が必要になり、成功率は送信元の実装に依存します。完全自動化が難しい場合は、解除リンク一覧をGUIで提示してユーザーに確認させる機能を持たせるのが安全です。
一括削除や既読化はGmail APIのbatchやmodifyエンドポイントを使って、ラベルの追加・削除(例:INBOXを外す、TRASHへ移動、または既読ラベルの付与)で実現します。大量処理ではAPIのレートリミットに注意し、バックオフやページング(nextPageToken)を適切に扱う必要があります。Procfileが含まれているため、HerokuなどのプラットフォームへデプロイしてWebアプリとして運用する想定も読み取れますが、READMEが強調する「ローカルで完結する」方針に従えば、ユーザーの環境で直接実行してトークンや認証情報を自分で管理するのが推奨です。
セキュリティ面では、最小権限のOAuthスコープ(読み取り+操作に必要な最小限)を選ぶこと、トークンを暗号化または権限のある場所に保管すること、そしてサードパーティの解除エンドポイントにアクセスする際のCSRFや認証挙動に留意することが重要です。MITライセンスのため改変・配布が容易で、用途に応じたカスタマイズやCI/CD経由での展開がしやすい点も利点です。(約700字よりやや拡張して説明)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- Procfile: file
- README.md: file
- demo.gif: file
- gmail_api.py: file
…他 5 ファイル
使い方(概略)
- GitHubリポジトリをクローン
- Python 3.8+ の仮想環境を用意して依存をインストール
- Google Cloud ConsoleでOAuthクライアントを作成し、credentials.jsonを取得
- アプリを起動してブラウザで認証を行い、Gmailへアクセス許可を付与
- GUIから検索条件を指定して一括処理を実行
(リポジトリ内のREADMEに詳細手順・注意事項が記載されています)
まとめ
プライバシー重視の手軽なGmail整理ツール。個人使用に最適。 (約50字)
リポジトリ情報:
- 名前: gmail-cleaner
- 説明: web based GUI to cleanup gmail delete, mark as read, unsubsribe from uncessary things u dont like
- スター数: 57
- 言語: Python
- URL: https://github.com/Gururagavendra/gmail-cleaner
- オーナー: Gururagavendra
- アバター: https://avatars.githubusercontent.com/u/84856326?v=4
READMEの抜粋:
📧 Gmail Bulk Unsubscribe & Cleanup Tool
A free, privacy-focused tool to bulk unsubscribe from emails, delete emails by sender, and mark emails as read. No subscriptions, no data collection - runs 100% on your machine.
✨ **No Subscripti…