利用しているアプリで未読通知メールがGmailに多く届くのだが、なぜか通知設定で止めることができないという謎仕様で溜まるのが嫌だったのでGASを使って自動削除できるようにしてみた。
function deleteNoReply() {
const query = "削除したいメールを検索するときの検索条件";
const start = 0;
const max = 10;
const threads = GmailApp.search(query, start, max);
const messageThreads = GmailApp.getMessagesForThreads(threads);
for(let messages of messageThreads) {
messages[0].moveToTrash();
}
}
思ったよりかなり簡単にできた。
最初に検索条件、検索結果の何件目から取得するか、検索結果の何件目まで取得するかをそれぞれセットしておく。
GmailApp.searchでスレッドの情報を取得することができ、GmailApp.getMessagesForThreadsでスレッドからメールを二次元配列で取得する。
最後にfor文で取得したメールをゴミ箱に移動する処理を書けば受信トレイから削除することができる。
あとは自動実行するためにトリガーの設定で実行したい時間を指定すれば完了。(トリガーの設定の仕方はググれば出てくるので省略)