GASで特定の条件に合致したメールをラベルで分類する

先生

Gmail整理、もう手作業は卒業!GASで賢く自動ラベル分け術をマスターしよう!

GASでメールを自動分類!特定の条件でラベル分けする方法

Gmailを効率的に管理したいですか?大量のメールを手動で整理するのは大変ですよね。Google Apps Script(GAS)を使えば、特定の条件に合致するメールを自動でラベル分けできます。この記事では、GASを使ってメールを自動分類する方法を分かりやすく解説します。

この記事を読むことで、あなたは以下のことができるようになります。

・GASの基本的な使い方

・Gmail APIを使ったメールの検索方法

・特定の条件に合致するメールの抽出方法

・抽出したメールへのラベル付与方法

・これらの処理を自動化する方法

メールの整理に時間がかかっている方、GASに興味がある方は、ぜひ最後までお読みください。

GASの基本とGmail APIの有効化

まず、GASの基本的な使い方から説明します。GASは、Googleが提供するクラウドベースのスクリプト実行環境です。Google Workspace(Gmail、Googleドキュメント、Googleスプレッドシートなど)の機能を拡張するために使用できます。

1. Google ドキュメント、スプレッドシート、またはスライドを開きます。

2. [ツール] > [スクリプトエディタ] をクリックします。新しいブラウザタブでスクリプトエディタが開きます。

次に、Gmail APIを有効化します。Gmail APIを使用することで、GASからGmailにアクセスし、メールの検索やラベルの操作などが行えるようになります。

1. スクリプトエディタで、[サービス] の横にあるプラス記号(+)をクリックします。

2. サービスを追加のポップアップウィンドウで、[Gmail API] を選択し、[追加] をクリックします。

これで、GASからGmail APIを使用する準備が整いました。

メールを検索し、条件に合致するメールを抽出する

Gmail APIを使ってメールを検索するには、GmailApp.search() メソッドを使用します。このメソッドに検索クエリを渡すことで、条件に合致するメールを抽出できます。

function searchEmails() {
  var query = 'from:example@example.com subject:重要'; // 検索クエリ
  var threads = GmailApp.search(query);
  Logger.log(threads.length + ' 件のスレッドが見つかりました。');
  return threads;
}

上記の例では、from:example@example.com subject:重要 という検索クエリを使用しています。これは、「example@example.comから送信され、件名に「重要」という文字列が含まれるメール」を意味します。検索クエリは、Gmailの検索ボックスで使用できるものと同じです。

GmailApp.search() メソッドは、条件に合致するメールのスレッドを返します。スレッドは、メールの会話のまとまりを表します。

抽出したメールにラベルを付与する

抽出したメールにラベルを付与するには、GmailThread.addLabel() メソッドを使用します。まず、ラベルオブジェクトを取得する必要があります。ラベルオブジェクトは、GmailApp.getUserLabelByName() メソッドで取得できます。

function addLabelToEmails(threads, labelName) {
  var label = GmailApp.getUserLabelByName(labelName);
  if (!label) {
    label = GmailApp.createLabel(labelName);
  }
  for (var i = 0; i < threads.length; i++) {
    threads[i].addLabel(label);
  }
}

上記の例では、GmailApp.getUserLabelByName(labelName) でラベルオブジェクトを取得しています。もし、指定した名前のラベルが存在しない場合は、GmailApp.createLabel(labelName) で新しいラベルを作成します。

その後、ループ処理で各スレッドに対して GmailThread.addLabel(label) を実行し、ラベルを付与します。

自動化:トリガーを設定する

上記の処理を自動化するには、GASのトリガーを設定します。トリガーを設定することで、特定の時間間隔でスクリプトが自動的に実行されるようになります。

1. スクリプトエディタで、[編集] > [現在のプロジェクトのトリガー] をクリックします。

2. トリガーの設定画面で、[トリガーを追加] をクリックします。

3. 実行する関数、イベントの種類、時間間隔などを設定します。

たとえば、「時間主導型」のトリガーを設定し、「時間ベースのトリガー」を「毎時」に設定することで、1時間ごとにスクリプトが実行されるようになります。

参考リンク

まとめ

この記事では、GASを使って特定の条件に合致するメールをラベルで分類する方法を解説しました。GASとGmail APIを組み合わせることで、Gmailの整理を自動化し、生産性を向上させることができます。

今回紹介したスクリプトを参考に、ぜひあなた自身のGmail管理を自動化してみてください。また、GASには様々な機能がありますので、色々と試して、より便利なスクリプトを作成してみてください。