Google Apps ScriptでGmailの未読メールをスプレッドシートに一覧表示する方法

NO IMAGE

はじめに

Gmailを使っていると、未読メールが溜まってしまい、重要なメールを見逃すことがありますよね。
特に、仕事用のメールでは、未読のまま放置してしまうと後々大変なことに…。

そこで、Google Apps Script(GAS)を使って、Gmailの未読メールをスプレッドシートに一覧表示するスクリプトを作成しました。
このスクリプトを使えば、未読メールを一覧で管理しやすくなり、対応漏れを防ぐことができます!

スクリプトの概要

このスクリプトは以下の処理を行います。

  1. Gmailの未読メールを取得
  2. スプレッドシートに送信者、件名、受信日時、メール本文の一部、URLを記録
  3. 定期的に実行して、最新の未読メールを管理

スクリプトのコード

以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。

function listUnreadEmails() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var threads = GmailApp.search("is:unread"); // 未読メールを検索
  var messages = [];
  
  // 既存のデータをクリア
  sheet.clear();
  sheet.appendRow(["送信者", "件名", "受信日時", "本文の一部", "メールURL"]);

  threads.forEach(thread => {
    var msgs = thread.getMessages();
    msgs.forEach(msg => {
      if (!msg.isUnread()) return; // 未読メールのみ処理
      var sender = msg.getFrom();
      var subject = msg.getSubject();
      var date = msg.getDate();
      var snippet = msg.getPlainBody().substring(0, 100); // 本文の最初の100文字
      var url = "https://mail.google.com/mail/u/0/#inbox/" + thread.getId();

      messages.push([sender, subject, date, snippet, url]);
    });
  });

  // スプレッドシートに追加
  if (messages.length > 0) {
    sheet.getRange(2, 1, messages.length, messages[0].length).setValues(messages);
  }

  Logger.log("未読メールをスプレッドシートに記録しました。");
}

スクリプトの説明

  1. listUnreadEmails()
    • Gmailの未読メールを検索
    • 送信者、件名、受信日時、本文の一部、メールURLを取得
    • スプレッドシートに記録

使い方

  1. Google スプレッドシートを作成
    • Google スプレッドシートを開く
    • 「拡張機能」→「Apps Script」を開く
  2. スクリプトを設定
    • 上記のコードを貼り付けて保存
  3. スクリプトを実行
    • Apps Script のエディタで listUnreadEmails() を実行
  4. スプレッドシートを確認
    • 未読メールの情報が一覧表示されていることを確認

スケジュール実行(自動更新)

未読メールの一覧を定期的に更新する場合は、トリガーを設定します。

  1. Google Apps Script のエディタで「編集」→「現在のプロジェクトのトリガー」を開く
  2. 「トリガーを追加」ボタンを押す
  3. 関数を listUnreadEmails に設定
  4. 実行タイミングを「時間主導型」にして、1時間ごと・1日ごとなどに設定

応用:特定のラベルの未読メールを取得する

特定のラベルの未読メールを取得したい場合、以下のように検索条件を変更してください。

var threads = GmailApp.search("label:重要 is:unread"); // "重要"ラベルの未読メール

おわりに

このスクリプトを使えば、Gmailの未読メールを一覧化し、見逃しを防ぐことができます。
業務メールの管理やタスク整理にも活用してみてください!

GASカテゴリの最新記事