【Gmail】エラーになるほど大量の未読メールを全て既読にする
未読メールをすべて既読にしたい
自分に関係ないメールを未読スルーしてると大量にたまっていることありますよね!?
その数30000件超え!
令和になる前に整理したくなったので、すべて既読にしようとしました。
大量すぎてエラーになる...
Gmailの画面からすべて既読にしようとしたところ、大量過ぎてエラーに。。
2000件程度なら大丈夫だったのですが、10000超えてくるとエラーになる感じですね。。 ググってみると同じ事象にハマっている人がいました。。
GASで既読にする
未読のまま放置したくない!(今更w)どうしても既読にしたい! と思い悩んでいたところ、先程のページにGASでやっちゃえばいいじゃん!という回答があったので、参考にスクリプトを組みました。
下記をgoogle app scriptにコピペして実行すればすべて既読にできます!(時間はかかりますが)
function toRead() { //設定したトリガーがあれば削除(一つ前に起動終了したトリガーを削除する) var trigger = ScriptApp.getProjectTriggers(); var trigger_count = trigger.length; var i = 0; for(i; i < trigger_count; i++) { ScriptApp.deleteTrigger(trigger[i]); } var mail = GmailApp.search("is:unread label:読まない"); // 未読メールを取得 ※「label:読まない」は適宜変更ください。 var count = mail.length; Logger.log(count); //もし未読メールがなければスクリプトを終了 if(count == 0) { return; } var i = 0; for(i; i < count; i++) { mail[i].markRead(); } // APIで500件しか取得できないので、終わったら1分後にまた叩く ScriptApp.newTrigger("toRead") .timeBased().after(1 * 1000) .create(); }
ただし、GmailApp.searchが1日に取得できる上限(契約により20000または50000)があるので、上限を超えるほど大量な場合は明日また実行してください。(cron登録しとく手もありますね)
それではまた!よければ読者登録!はてブ!お願いします!