概要
・Gmailで受信トレイにある7日以上たったメールをアーカイブする。
・address箇所を自分のメールアドレスに変更すれば実行可能。
コード
// メイン関数
function cleanGmail() {
// XXXXXを自分のメールアドレスに変更する
var address = 'to:' + 'XXXXX@gmail.com';
// serchWord:アーカイブするメールの条件
// in:inbox:受信トレイ
// before:getPreviousDate(7) :7日以上前のメール
var searchWord = 'in:inbox before:' + makePreviousDate(7) + ' AND ' + address;
archiveMailBySearch(searchWord);
}
// 条件に沿ったメールを1件ずつアーカイブ
function archiveMailBySearch(searchWord) {
// GmailAppの制限でアーカイブできるメールは最大500件まで
var myThreads = GmailApp.search(searchWord);
myThreads.map(function (thread) {
thread.moveToArchive();
});
}
// n日前の日付を取得
function getPreviousDate(n) {
//現在の日時を取得
var date = new Date(Date.now());
// setDateでn日前を取得
date.setDate(date - n);
//フォーマット変更
result = Utilities.formatDate(date, Session.getScriptTimeZone(), "yyyy/MM/dd");
return result;
}
参考
・【GAS】Gmailで自動アーカイブや自動削除
・Class GmailThread
ご覧いただきありがとうございました。m(_ _)m