はじめに
「問い合わせフォームからの通知メール、タイトルがみんな同じでどれが重要かわからない…」
「大量の営業メールに埋もれて、本当のお客様からの相談を見逃している気がする…」
「怪しいURLがついたメールを開くのが怖い…」
その悩み、今日で終わりにしましょう!
結論から言うと、Gmailで受信した問い合わせメールを「Google Apps Script(GAS)」を使って「Googleスプレッドシート」に自動転送・リスト化するのが最強の解決策です。
スプレッドシートにまとめることで、メールを開かずに内容を一覧で確認でき(セキュリティ向上)、AIでの要約もしやすくなり、大切な「見込み客」のメールを一瞬で見分けられるようになります。
プログラミング未経験でもコピペでできる手順を解説しますね。
ステップ1:Gmail側で「問い合わせ」だけを抽出する
まずは、全てのメールではなく「問い合わせフォームから来たメール」だけを識別できるようにします。これだけで「営業メール」と「一般メール」の混在を防ぐ第一歩になります。

- Gmailを開き、検索窓の右端にある「検索オプションを表示」をクリック。
- 件名に、問い合わせフォームの自動返信で使われる定型文(例:「【お問い合わせ】」や「Webサイトより」など)を入力。
- 「フィルタを作成」をクリック。
- 「ラベルを付ける」にチェックを入れ、「新しいラベル」から「問い合わせ」という名前のラベルを作成して適用します。
- フィルタを作成します。
ポイント: これで、自動的に特定のメールに「問い合わせ」というタグがつきました。
ステップ2:受け皿となるGoogleスプレッドシートを用意する
次に、メールの内容を書き出すシートを作ります。

- Googleスプレッドシートを新規作成します。
- 1行目に以下の項目を入力してください。
- A列:受信日時
- B列:送信元(From)
- C列:件名
- D列:本文(ここが重要!)
- E列:判定・要約(人間またはAIが入力する欄)
- シートの名前を「問い合わせ管理」などに変更しておきます。
- ツールバーの「拡張機能」から「Apps Script」をクリックします。
ステップ3:【コピペOK】自動連携プログラム(GAS)を設置
開いた画面に、以下のコードをコピペしてください。これは「問い合わせラベルが付いた未読メールをシートに書き出し、書き出したメールのラベルを外す(または既読にする)」プログラムです。
※コード内のあなたのシートIDの部分だけ、実際のID(スプレッドシートのURLの /d/ と /edit の間の文字列)に書き換えてください。
JavaScript
function fetchContactEmails() {
// 1. スプレッドシートを取得
// URLが https://docs.google.com/spreadsheets/d/abc12345.../edit の場合、abc12345...がID
var sheet = SpreadsheetApp.openById('あなたのシートID').getActiveSheet();
// 2. Gmailから「問い合わせ」ラベルがついた未読メールを検索
// ※ラベル名はステップ1で設定したものに合わせてください
var threads = GmailApp.search('label:問い合わせ is:unread');
// 3. メールを1通ずつ処理
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var msg = messages[j];
// 日時、送信元、件名、本文を取得
var date = msg.getDate();
var from = msg.getFrom();
var subject = msg.getSubject();
var body = msg.getPlainBody(); // HTMLタグを除去したテキスト本文
// スプレッドシートの最終行に追加
sheet.appendRow([date, from, subject, body]);
// 処理済みとして既読にする(重複防止)
msg.markRead();
}
}
}
セキュリティと要約のヒント:
- セキュリティ対策:
getPlainBody()を使うことで、メールに含まれる怪しい画像リンクやトラッキングコードを無効化し、純粋なテキストだけを取得します。これにより、フィッシングメールを開封するリスクを劇的に下げられます。- 要約への応用: シートのE列にChatGPTなどのAI関数を組み込めば、D列の長文を自動要約することも可能です。
ステップ4:自動実行のスイッチ(トリガー)を入れる
このままだと手動でしか動かないので、1時間ごとに勝手に動くように設定します。

- Apps Script画面の左側にある時計マーク(トリガー)をクリック。
- 「トリガーを追加」をクリック。
- 以下のように設定して保存します。
- 実行する関数:
fetchContactEmails - イベントのソース:
時間主導型 - タイプ:
時間ベースのタイマー - 間隔:
1時間おき(急ぎの場合は「分ベース」でもOK)
- 実行する関数:
これで、あなたが寝ている間も、営業メールも重要メールも全て自動でスプレッドシートにリストアップされます!
まとめ:メール一覧化で「守り」と「攻め」を同時に強化しよう
今回の仕組みを導入することで、以下のメリットが生まれます。
- 見逃しゼロへ: シートを見るだけで、重要な問い合わせかどうかが一目でわかる。
- 安全性の確保: メールの本文(テキスト)だけを抽出するため、ウイルスやフィッシングサイトへの誘導リンクを誤って踏むリスクが減る。
- 効率化: 営業メールなどの不要なものは、シート上で一括削除・無視判定ができる。
「問い合わせフォームからのメール確認」という単純作業を自動化して、本当に大切な「お客様への返信」に時間を使ってくださいね!
🔍 参考資料・出典
本記事で紹介した手順やコードは、以下のGoogle公式ドキュメントおよび仕様に基づき作成しています。
- Google Apps Script (Gmail Service)
- Gmailの内容を取得する方法について
- URL: https://developers.google.com/apps-script/reference/gmail/gmail-app
- Google Workspace ラーニング センター
- Gmail のフィルタの作成ルールについて
- URL: https://support.google.com/a/users/answer/9308833?hl=ja
※GASの実行はGoogleの制限(Quotas)の範囲内で行われます。個人の無料アカウントでも十分動作しますが、大量の送信を行う場合は制限にご注意ください。
