プログラミング

【GAS】古いGmailを削除し、ゴミ箱も空にすることで容量を削減する

スポンサーリンク

こんにちは!

今回は「GASで古いGmailを削除し、ゴミ箱も空にする方法」を共有します。

Gmailを削除しても、ゴミ箱には残ってしまうので空き容量は変わりません。
そのため、Gmailの削除+ゴミ箱を空にするコードを共有したいと思います。

実行すると、完全にメールが消えてしまうのでご注意ください!!

GASで古いGmailを削除し、ゴミ箱も空にする方法

まずはコードを共有します。

const deleteOldEmails = () => {
  // 受信フォルダ内の1週間以上前のメールを検索(※条件は要件に合わせて変更してください)
  const threads = GmailApp.search('in:inbox older_than:7d');

  // メールを削除し、ゴミ箱に移動
  for (let i = 0; i < threads.length; i++) {
    threads[i].moveToTrash();
  }

  // Gmail APIを使ってゴミ箱を空にする
  let pageToken;
  do {
    const result = Gmail.Users.Messages.list('me', {
      'labelIds': ['TRASH'],
      'pageToken': pageToken
    });
    const messages = result.messages;
    if (messages) {
      for (var i = 0; i < messages.length; i++) {
        Gmail.Users.Messages.remove('me', messages[i].id);
      }
    }
    pageToken = result.nextPageToken;
  } while (pageToken);
}

Gmail関連の処理はGAS実行者のGmailフォルダにアクセスして上記の処理が実行されます。
そのため、テスト用のアカウントを作成して検証することを強くおすすめいたします。

上記の関数をトリガーで1日1回実行されるようにすれば、1週間経ったメールを定期的に削除してくれるようになります。

以上、お疲れさまでした〜🍵

スポンサーリンク

-プログラミング
-,

© 2024 エンジニア×ライフハック Powered by AFFINGER5