毎日届く何百、何千というメール。容量がいっぱいになる前に、そろそろ削除しなくては。
Gmailから古い不要なものを手動で削除していく作業・・・
あぁ、めんどくさいことこの上なし。
大量に溜まっていく日々の受信メール。
手動で削除するのは時間も手間もかかって嫌気がさしてきますね。
今回は、Google Apps Scriptを使って
「任意のラベルが付いた3カ月以上前のメールを自動削除する方法」をご紹介します。
手動で削除していた手間をゼロにして、時間を有効に使えます。快適です。
手順
①
まず、Googleドライブを開きます。ドライブ画面左上の「新規」ボタンをクリックし、
ドロップダウンメニューから「その他」を選択します。メニューから「Google Apps Script」を選択。
②
「Apps Script」の新しいウィンドウが開きます。
画面左上の新しいプロジェクトをクリックします。
任意のプロジェクト名に変更してください。
③
スクリプト入力欄(コード.gs)に下記のコードを貼り付けます。
/**
* メール削除
*/
function deleteMail() {
// 検索ワード
const queries = getQueries();
for (const query of queries) {
console.log(query);
// 検索
const result = GmailApp.search(query);
let count = 0
result.forEach(function(mails) {
const messages = mails.getMessages();
count += messages.length;
// 削除
GmailApp.moveMessagesToTrash(messages);
});
console.log(count);
}
}
/**
* Gmailの検索ワード定義を取得
*/
function getQueries() {
return [
"label:「削除したい設定ラベル1」 older_than:3m",
"label「削除したい設定ラベル2」 older_than:3m",
"label:「削除したい設定ラベル3」 older_than:3m",
]
}
/**
* N週前の日付を取得
*/
function getBeforeDate(week) {
const nowTimestamp = new Date().getTime();
const milliSecond = week * 7 * 24 * 60 * 60 * 1000;
const beforeDate = Utilities.formatDate(new Date(nowTimestamp - milliSecond), 'JST', 'yyyy-MM-dd');
return beforeDate;
}
上記のラベルには、削除したい任意の設定ラベル名を、期間については必要に応じて変更して設定してください。
(ここでは3mとしましたが1カ月→1m、半年→6mなど変えてください)
スクリプトが完成したら、保存して、実行。
数分程度で実行完了します。
④
自動で実行するようにトリガーを設定します。
時間単位や日付単位など任意での設定が可能です。
これで任意のラベルが付いた3カ月以上前のメールを設定間隔で自動削除してくれるようになりました。
一度設定するだけで、自動実行してくれるので業務効率化が図れます。
もう手動で削除しなくていいと思うと、仕事もますますはかどるような気がしてきましたね。
よかったら使ってみてください。