Gメールに届いたメールを読んで削除せずに放置する癖があり、忘れたころに削除すると毎回すごく面倒なので、自動削除する方法を調べました。
すると、GoogleAppsScriptを使うと自動でゴミ箱に移動させる方法がありました。
しかも、GoogleAppsScriptは無料で使えます。
参考にしたサイト
ありがとうございました。
GoogleAppsScriptでGmailの自動削除の作り方
①Googleスプレッドシートを開く
②シート名を「メール自動削除」に変更
③ツール→スクリプトエディタを開く
「現在、ファイルを開くことができません。」と表示された場合は、複数のアカウントでログイン状態になっているので1度全てログアウトして、Googleスプレッドシートを開いたアカウントだけでログインしましょう。
④以下のコードを書き込む
function myFunction(){
var deleteThreads = GmailApp.search('label:ラベル名 older_than:10d
-is:starred');
Logger.log('該当スレッド: ' + deleteThreads.length + '件');
for (var i = 0; i < deleteThreads.length; i++) {
deleteThreads[i].moveToTrash();
}
Logger.log('終了');
}
・label:ラベル名→ラベル名は削除したいラベルを入力、全メールが対象のときはlabel:ラベル名を削除
・older_than:10d→いつより前のメールを削除するか選ぶ、10dは10日前
・-is:starred→スター付ではないメール
⑤保存を▶を押して実行する。
保存するときにプロジェクト名を入力する。
※ココから先はポップアップをしっかりと読みましょう。
⑥「承認が必要です」がでたら、許可しアカウントを選択する。
⑦「Googleアカウントへのアクセスをリクエストしています」がでたら、「詳細」をクリックし「メッセージダイアログ(安全ではないページに移動)」→「許可」の順で実行する
Gsuiteアカウントを持っていたら、「Googleアカウントへのアクセスをリクエストしています」→「許可」の順で実行する。
⑧実行が終わったら「表示」→「ログ」で実行結果を確認。
⑨実行マークの左横にある時計?マークを押してトリガーを追加。
⑩イベントのソースを「時間主導型」、時間ベースのトリガーのタイプを「日付ベースのタイマー」、時刻は好きな時間を選びます。
⑪保存して完了。
削除できていないと思ったら
自動削除のコードは合っているはず、なのに削除できていない。
ログでは削除できたことになっている、なのに削除できていない。
何回やっても「該当スレッド:0件」と表示される。
そんな人はコチラをご覧ください。
Googleスプレッドシートを経由しなくても作れる!?
GoogleAppsScriptはGoogleスプレッドシートを経由しなくてもGoogleドライブから作れるみたいです。
実際に作っていないので、何とも言えませんが...。