特定のラベルや検索クエリに一致する Gmail のメールをすばやく閲覧し、完全に削除します。
これは、GMail Web インターフェイスと IMAP が処理できなかった (タイムアウトしたばかりの) 120,000 件を超えるメッセージを削除するために作成されました。さらに、多数の CI ツールをテストするプロジェクトも必要でした。
リリース ページから OS 用の zip バイナリをダウンロードし、解凍します。
あるいは、ノードがインストールされている場合は、 git
使用してこのリポジトリのクローンを作成し、 npm install
実行します。その後、以下の例に従って、 gmail_cleaner-linux
へのすべての参照をnode gmail_cleaner.js
に置き換えます。
Categories/Updates
ラベル内の最大 15,000 件のメールを削除します。
$ ./gmail_cleaner-linux delete -l " CATEGORY_UPDATES " -n 15000
Found 10381 matching emails in CATEGORY_UPDATES. Deleting them ...
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
1000 messages deleted.
381 messages deleted.
emails
コマンドを使用して結果を確認します。
$ ./gmail_cleaner-linux emails -l " CATEGORY_UPDATES "
No emails found.
Gmail クエリを使用して特定のメールをターゲットにし、削除する前にサンプルを確認します。
$ ./gmail_cleaner-linux delete -s -l " Corp " -q " subject:Birthday " --dry-run
Found 47 matching emails in Corp. Deleting them ...
dry-run is active, skip deleting emails.
$ ./gmail_cleaner-linux emails -s -l " Corp " -q " subject:Birthday " -n 3 --no-snippet
retrieving headers for 3 emails ..
Matching email messages:
Date From Subject
Thu, 7 Nov 2019 22:00:14 +0000 Corp App < [email protected] > [Employee] Happy Birthday To Foo
Wed, 6 Nov 2019 22:06:52 +0000 Corp App < [email protected] > [Employee] Happy Birthday To Bar
Tue, 5 Nov 2019 22:00:13 +0000 Corp App < [email protected] > [Employee] Happy Birthday To 42
$ ./gmail_cleaner-linux delete -l " Corp " -q " subject:Birthday "
Found 47 matching emails in Corp. Deleting them ...
47 messages deleted.
$ ./gmail_cleaner-linux emails -s -l " Corp " -q " subject:Birthday "
no emails found.
使用方法に関する情報を表示するには、 --help
または-h
を使用します。
$ ./gmail_cleaner-linux -h
Usage: gmail_cleaner-linux < command > [options]
Commands:
gmail_cleaner-linux labels List all available Gmail labels
gmail_cleaner-linux emails List emails matching specific label and query
gmail_cleaner-linux delete Delete emails matching specific label and query
Options:
--version Show version number [boolean]
--sec-warning-off, -s Don ' t display security warning [boolean]
--verbose, -v Show more verbose information [boolean]
--help, -h Show help [boolean]
Examples:
gmail_cleaner-linux delete -l "SPAM" Delete all emails labeled "SPAM"
gmail_cleaner-linux delete -l "INBOX" -q Delete emails in "INBOX" that has
"subject:spam" --unsafe ' spam ' in subject
次のように、特定のコマンドに関する詳細情報を確認することもできます。
$ ./gmail_cleaner-linux delete -h
$ ./gmail_cleaner-linux emails -h
認証プロセスの一環として、このプログラムはデフォルトでローカルホスト上のポート 31338/tcp を一時的に開きます。環境変数GMAIL_CLEANER_PORT
を指定することで、他のポートを使用できます。次に例を示します。
$ GMAIL_CLEANER_PORT=1337 ./gmail_cleaner.js labels
このプログラムは Gmail API を使用するため、Gmail アカウントにアクセスするには、まず認証する必要があります。
Gmail への初回アクセス時に、このプログラムはgmail_token.json
ファイルの検索に失敗し、フォールバックして認証 URL を表示します。ブラウザで開き、手順に従ってプログラムがアカウントにアクセスすることを承認します。
最初の実行後は、 gmail_token.json
ファイルを慎重に扱う必要があります。ファイルにアクセスできる人は誰でも、あなたの Gmail アカウントにもアクセスできることになります。 -s
スイッチでオフにしない限り、Gmail Cleaner は実行されるたびに次のセキュリティ警告を表示します。
** SECURITY WARNING **
Do the following when you no longer need to use this program in the near future.
- Remove the app access to your account from https://myaccount.google.com/u/2/permissions
- Remove gmail_token.json file. Anyone who has access to it will have full control over your Gmail account.
https://myaccount.google.com/u/2/permissions からアプリのアクセスを削除すると、 gmail_token.json
無効になるだけなので、Gmail アカウントへのアクセスに使用できなくなることに注意してください。 Gmail Cleaner の「アプリ」には、 gmail_token.json
のコンテンツやアカウントに関する情報を保存するサーバー/クラウド側コンポーネントがまったくありません。それが十分でない場合は、次の手順に従って、いつでも独自の「アプリ」を作成できます。
https://mail.google.com/
承認するスコープのリストに追加します (このスコープは、 gmail_cleaner
で使用されるバッチ削除 API で必要です)。./lib/client_id.json
ファイルと置き換えます。gmail_token.json
ファイルを削除します。その後、次回プログラムを実行するときに、デフォルトのアプリではなく独自のアプリを認証するように求められます。