はじめに
Gmailを日々使っていると、未読メールが増えてしまい、重要なメールを見逃してしまうことがあります。
特に、業務で複数の受信トレイを管理している場合、未読メールを自動で整理できると便利ですよね。
そこで、Google Apps Script(GAS)を使って、Gmailの未読メールを集計し、スプレッドシートに記録するスクリプトを作成しました。
このスクリプトを使えば、未読メールの件数や送信者を定期的にスプレッドシートに記録し、対応漏れを防ぐことができます。
スクリプトの概要
このスクリプトは以下の処理を行います。
- Gmailの未読メールを取得
- 送信者、件名、受信日時をスプレッドシートに記録
- 毎日自動で実行するように設定
スクリプトのコード
以下のコードをGoogle Apps Scriptのエディタに貼り付けてください。
function logUnreadEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var threads = GmailApp.search("is:unread"); // 未読メールを取得
var now = new Date();
// ヘッダーがない場合、追加
if (sheet.getLastRow() === 0) {
sheet.appendRow(["記録日時", "送信者", "件名", "受信日時"]);
}
threads.forEach(thread => {
var messages = thread.getMessages();
messages.forEach(message => {
if (!message.isUnread()) return; // 既読メールはスキップ
var sender = message.getFrom();
var subject = message.getSubject();
var date = message.getDate();
sheet.appendRow([now, sender, subject, date]);
message.markRead(); // 記録後に既読にする
});
});
Logger.log("未読メールのデータをスプレッドシートに記録しました。");
}
スクリプトの説明
logUnreadEmails()
- Gmailの未読メールを検索
- 送信者、件名、受信日時を取得し、スプレッドシートに書き込み
- 記録後にメールを既読に変更
使い方
- Google スプレッドシートを作成
- Google スプレッドシートを開く
- 「拡張機能」→「Apps Script」を開く
- スクリプトを貼り付けて保存
- スクリプトを実行
- Apps Script のエディタで
logUnreadEmails()
を実行
- Apps Script のエディタで
- スプレッドシートを確認
- Gmailの未読メールが一覧として記録されていることを確認
スケジュール実行(自動更新)
毎日自動で未読メールを記録する場合は、トリガーを設定します。
- Google Apps Script のエディタで「編集」→「現在のプロジェクトのトリガー」を開く
- 「トリガーを追加」ボタンを押す
- 関数を
logUnreadEmails
に設定 - 実行タイミングを「時間主導型」にして、1日ごと・1時間ごとなどに設定
応用:特定のラベルの未読メールを記録
特定のラベルの未読メールだけを記録したい場合、以下のように変更します。
var threads = GmailApp.search("label:仕事 is:unread"); // 「仕事」ラベルの未読メールのみ取得
おわりに
このスクリプトを使えば、未読メールの管理を自動化し、重要なメールを見逃さずに済みます。
業務でのメール管理やタスク管理に活用してみてください!
コメントを書く