Gmailの自動アーカイブ条件を実行前に確認|GASで対象メールをdry-run監査

Gmailの自動アーカイブ条件を実行前に確認|GASで対象メールをdry-run監査

ツールおじ|GoogleアカウントをAIエージェント化

ツールおじ|GoogleアカウントをAIエージェント化

古い通知メールを自動アーカイブしたい場合、検索条件が広すぎると必要なメールまで受信トレイから外れるおそれがあります。この記事では、Gmail検索条件に一致する件数と少量の匿名化IDだけを確認する、無料のGAS例を紹介します。アーカイブ、削除、ラベル変更、送信は行いません。

先に知っておきたいこと

  • `DRY_RUN = true` を固定し、メールを変更しません。
  • 検索条件は `in:inbox` と期間条件を必須にし、最大100件で停止します。
  • 件名、本文、差出人、宛先はログへ出しません。
  • 自動アーカイブを実装する前の候補確認専用です。

コピーして使える最小コード

const DRY_RUN = true;
const SEARCH_QUERY = 'in:inbox older_than:30d label:notifications';
const MAX_RESULTS = 100;

function auditGmailArchivePlanFree() {
  if (DRY_RUN !== true) throw new Error('安全のためDRY_RUN=trueで実行してください');
  const query = String(SEARCH_QUERY).trim();
  if (!query.includes('in:inbox')) throw new Error('in:inbox を検索条件へ含めてください');
  if (!/(older_than:|before:)/.test(query)) throw new Error('期間条件を指定してください');
  if (MAX_RESULTS < 1 || MAX_RESULTS > 100) throw new Error('MAX_RESULTSは1〜100にしてください');

  const threads = GmailApp.search(query, 0, MAX_RESULTS + 1);
  if (threads.length > MAX_RESULTS) {
    throw new Error('候補が100件を超えました。検索条件を絞ってください');
  }

  const sample = threads.slice(0, 10).map((thread, index) => ({
    row: index + 1,
    idSuffix: thread.getId().slice(-6),
    messageCount: thread.getMessageCount()
  }));
  console.log(JSON.stringify({ query, candidateCount: threads.length, sample, dryRun: DRY_RUN }));
}

実行手順

1. Apps Scriptへコードを貼り付け、検証用ラベルを用意します。

2. `SEARCH_QUERY` を少数のメールだけに一致する条件へ変更します。

3. `auditGmailArchivePlanFree` を実行し、権限を確認します。

4. 実行ログの候補件数と匿名化IDを確認します。

5. 件数が想定外なら条件を絞り、必要なメールが含まれないことを人が確認します。

失敗しやすい点と停止条件

  • `in:inbox` または期間条件がなければ停止します。
  • 候補が100件を超えた場合は停止し、検索条件を絞ります。
  • Gmail検索演算子の結果はアカウントの状態で変わります。少量の検証用ラベルから始めてください。
  • このコードは候補を読むだけで、`moveToArchive` やラベル操作を呼びません。

公開前チェックリスト

  • メールをアーカイブ・削除・送信していない
  • 件名、本文、差出人、宛先をログへ出していない
  • 検索件数に上限がある
  • 期間条件と受信トレイ条件を必須にしている
  • 少量の検証用ラベルで確認した

まとめ

自動アーカイブは、先に検索条件の広さを確認すると誤処理を避けやすくなります。まずは変更を加えないdry-runで候補件数を確認し、必要なメールが混ざらない条件を作ってから次の工程を検討してください。

Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Proを見る

GasおじのTips商品一覧を見る

※学習・検証用の例です。実データへ適用する前に少量の検証用メールで確認してください。Google公式・Google公認の商品ではありません。


あなたも記事の投稿・販売を
始めてみませんか?

Tipsなら簡単に記事を販売できます!
登録無料で始められます!

Tipsなら、無料ですぐに記事の販売をはじめることができます Tipsの詳細はこちら
 

この記事のライター

ツールおじ|GoogleアカウントをAIエージェント化

おう、Gasおじだ。 AIツールとSaaSに散々突っ込んで遠回りした結果、最後に強かったのは「今あるGoogleアカウント」だった。 今ではAIエージェントであらゆるタスクを自動化して無双してるぞ。 GAS、スプレッドシート、フォーム、Gmail、AIエージェントを組み合わせれば、個人でも小さな会社でも、手作業だらけの業務はかなり自動化できる。 ここでは机上のAI論じゃなく、現場で動くテンプレ、コード、手順だけを置いていくぞ。 高いツールを増やす前に、まずお前さんのGoogleアカウントを仕事するエージェントに変えようじゃないか。

このライターが書いた他の記事

  • Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
  • あとで見るURLを二重登録しない|GASで読書・動画ウォッチリストをdry-run監査

  • Google Driveのフォルダを一括作成する前に確認|GASのdry-run付き安全テンプレート

関連のおすすめ記事

  • Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
    ツールおじ|GoogleアカウントをAIエージェント化

    ツールおじ|GoogleアカウントをAIエージェント化

  • 【Python】 Con-Que 【データベース接続】

    ¥3,000
    1 %獲得
    (30 円相当)
    GoGorilla

    GoGorilla

  • USBメモリで持ち運べるLinux Mint 22.1と永続的な書き込み領域の作成法【Rufus だけで作成する方法を初心者向けに徹底解説】

    ¥500
    1 %獲得
    (5 円相当)
    SmartSenior

    SmartSenior