【GAS×Gmail特集】GASでGmailのメール整理を自動化しよう!

GAS gmai 受信処理

Gmailに届く毎日の大量のメール、
「手動で整理するのが面倒」「重要なメールが埋もれてしまう」
そんな悩みを抱えていませんか?

この記事では、Google Apps Script(GAS)を使って、Gmailの受信メールを自動で取得・整理・記録する方法を紹介します。

目次

この記事でわかること

  • Google Apps Script(GAS)とは?
  • Gmailの受信メールをスクリプトで取得する方法
  • 条件を指定して特定のメールをフィルターする方法
  • メール内容をスプレッドシートに自動保存する方法
  • GASのトリガー機能で自動処理を定期化する方法
  • Gmailの整理に便利な検索演算子一覧

Google Apps Script(GAS)とは?

Google Apps Scriptは、Googleが提供するJavaScriptベースの自動化ツールです。
Gmail、スプレッドシート、カレンダーなどGoogleサービスを自由に操作できます。

GASについてはこちらに記事でも紹介しています。

あわせて読みたい
【初心者向け】Google Apps Scriptとは?スプレッドシートを自動化して作業効率アップ! Googleスプレッドシートを使っていて、「この作業、毎回手作業でやるのが面倒…」と思ったことはありませんか? そんな時に活躍するのが Google Apps Script(GAS) です...

GASでGmailの受信メールを取得する基本スクリプト

以下のスクリプトで、受信トレイの最新メールを取得し、内容をログに出力できます。


function checkGmail() {
  var threads = GmailApp.getInboxThreads(0, 5); // 最新5件のスレッドを取得
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var message = messages[j];
      Logger.log("件名: " + message.getSubject());
      Logger.log("送信者: " + message.getFrom());
      Logger.log("本文: " + message.getPlainBody());
    }
  }
}

ポイント:

  • GmailApp.getInboxThreads(start, max):受信トレイのメールスレッドを取得
  • thread.getMessages():スレッド内の個々のメールメッセージを取得
  • message.getSubject()message.getFrom() などで、各種情報を取得可能

GASで受信したメールの件名や日付で条件を指定して整理

「レポート」という件名のメールを、過去1日以内に届いたものだけに絞り込むには以下のようにします。


function filterMails() {
  var threads = GmailApp.search('subject:レポート newer_than:1d');
  threads.forEach(function(thread) {
    var messages = thread.getMessages();
    messages.forEach(function(message) {
      Logger.log("レポートメール: " + message.getSubject());
    });
  });
}

検索条件の例(Gmail の検索演算子):

  • from:example@example.com:特定の送信者から
  • label:Work:特定のラベル
  • is:unread:未読メール
  • newer_than:2d:2日以内に受信

GASで受信したメールの内容をスプレッドシートにメール情報を自動保存

業務報告や記録の自動化には、以下のスクリプトが便利です。


function saveMailToSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var threads = GmailApp.search('subject:レポート newer_than:1d');
  threads.forEach(function(thread) {
    var messages = thread.getMessages();
    messages.forEach(function(message) {
      sheet.appendRow([
        new Date(),
        message.getDate(),
        message.getFrom(),
        message.getSubject(),
        message.getPlainBody().slice(0, 100)
      ]);
    });
  });
}

このスクリプトでできること:

  • メールの内容を時系列で記録
  • スプレッドシートでの検索や集計が簡単に
  • チームでの情報共有もスムーズ

トリガーで完全自動化する方法

トリガー設定手順:

  1. スクリプトエディタを開く(https://script.google.com
  2. 左側メニューの「時計アイコン(トリガー)」をクリック
  3. 「トリガーを追加」→ 対象関数を選択
  4. イベントの種類で「時間主導型」を選び、実行間隔を設定(例:1時間ごと、毎日9時など)

これで、完全自動化されたGmailメール整理システムが完成です!

まとめ:メール整理の時間を自動化で節約しよう!

Google Apps Script を使えば、Gmailの受信メールを自動で取得し、必要な情報だけを整理・記録することができます。

今日からできること:

  • GASで受信メールをフィルター処理
  • スプレッドシートへ自動保存
  • 毎日・毎時の自動実行で完全自動化

「メール対応に追われている」「重要な情報を見逃したくない」
そんな方はぜひ一度、GASでの自動化にチャレンジしてみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次