【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登録しとく手もありますね)

それではまた!よければ読者登録!はてブ!お願いします!