プレスリリースやお知らせ、開発ブログ、会社の活動状況、Mattermost・aws・AI等の技術情報などを発信しています。

古いGmailの自動削除で業務効率化。SES企業様必見(Google Apps Script使用)

毎日届く何百、何千というメール。容量がいっぱいになる前に、そろそろ削除しなくては。
Gmailから古い不要なものを手動で削除していく作業・・・
あぁ、めんどくさいことこの上なし。

大量に溜まっていく日々の受信メール。
手動で削除するのは時間も手間もかかって嫌気がさしてきますね。

今回は、Google Apps Scriptを使って
「任意のラベルが付いた3カ月以上前のメールを自動削除する方法」をご紹介します。

手動で削除していた手間をゼロにして、時間を有効に使えます。快適です。

手順


「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カ月以上前のメールを設定間隔で自動削除してくれるようになりました。

一度設定するだけで、自動実行してくれるので業務効率化が図れます。


もう手動で削除しなくていいと思うと、仕事もますますはかどるような気がしてきましたね。
よかったら使ってみてください。

  • B!

おすすめ記事リンク