本サイトはアフィリエイト広告(A8.net/もしもアフィリエイト/アクセストレード等)を利用しています
GASでGmail自動返信を5分で作る最短レシピ
📂 Gmail自動化

GASでGmail自動返信を5分で作る最短レシピ

📅 ⏱ 読了 約9分 ✍️ 凛

💡 本記事には広告(アフィリエイトリンク)が含まれる場合があります。

こんな悩みありませんか?

「夜勤明けで寝ている間にも、お客さまから問い合わせメールが届いてしまう」 「副業でやっているハンドメイドショップ、毎回同じ質問に返信するのが地味に時間を食う」 「外出中にひとまず『受信しました』だけでも返したいけど、スマホで長文を打つのはしんどい」

こんにちは、看護師をしながら副業でWebエンジニアをしていて、Google Apps Script(以下GAS)を中心に扱っています。私は凛です。私も以前、夜勤明けで気づいたら問い合わせが6件たまっていて、返信しきれずにキャンセルされた苦い経験があります。そこで導入したのが **GASによるGmail自動返信**。今回は、プログラミング初心者でも5分でコピペして動かせる最短レシピをまとめました。

「GAS Gmail 自動返信」で検索してここに辿り着いた方が、そのままコピペして動かせるレベルで書いています。よかったらブックマークしてお使いください。

GmailとGASを連携させる全体像

まず、GASでGmailを自動返信する仕組みの全体像をざっくり押さえましょう。難しそうに見えますが、やっていることはシンプルです。

  1. Gmailで「未読」「特定ラベル付き」などの条件でメールを検索する
  2. 取得したメールスレッドに対して、定型文で返信する
  3. 返信済みのメールにはラベルをつけて、二重返信を防ぐ
  4. Googleのトリガー機能で、5分おきにこの処理を自動実行する

この4ステップさえ動けば、あなたが寝ていようが夜勤中だろうが、Gmailが勝手に一次返信してくれる状態になります。私は最初「メールサーバー側で設定しないとダメなのかな?」と思い込んでいたのですが、GASならGoogleアカウント上で完結するのでサーバーも費用も不要です。

GASの準備(初めての方向け)

GASを使うのが初めてなら、まずは以下の手順で「プロジェクト」を作ります。

  1. script.google.com にアクセス
  2. 左上の「新しいプロジェクト」をクリック
  3. ファイル名を GmailAutoReply などに変更
  4. Code.gs のエディタに、後述するコードを貼り付ける

これだけでGASの開発環境は整います。PC1台とGoogleアカウントさえあれば、他には本当に何もいりません。ここが GAS のありがたいところです。

最短コード:10行で動くGmail自動返信レシピ

いきなり結論のコードです。以下をGASエディタにコピペして、LABEL_NAME と REPLY_BODY を書き換えれば動きます。

function autoReply() {
  const LABEL_NAME = '自動返信済み';
  const REPLY_BODY = 'お問い合わせありがとうございます。担当者より改めてご返信いたします。';
  const label = GmailApp.getUserLabelByName(LABEL_NAME) || GmailApp.createLabel(LABEL_NAME);
  const threads = GmailApp.search('is:unread -label:' + LABEL_NAME, 0, 20);
  threads.forEach(function(thread) {
    thread.getMessages().pop().reply(REPLY_BODY);
    thread.addLabel(label);
    thread.markRead();
  });
}

コードの意味を簡単に解説します。

  • GmailApp.search() で「未読」かつ「まだ自動返信済みラベルがついていない」スレッドを検索
  • thread.reply() でそのスレッドに返信
  • addLabel() で 自動返信済み ラベルをつけて、次回以降対象外にする
  • markRead() で既読にする(お好みで削除可)

初回実行時、GASが「このスクリプトがあなたのGmailにアクセスする許可を求めています」と確認してきます。Googleアカウントでログインし、内容を確認して許可してください。ここは第三者にスクリプトを触らせない、自分の GAS プロジェクト内だけの話なので安心して進められます。

押さえるべき3つのポイント

ただコピペして終わらせないために、実運用で絶対に押さえたい3つのポイントを紹介します。これを知らないと「あれ?全員に同じ返信が飛びまくった…」という事故になりかねません。

ポイント1:検索条件を厳しめにする

GmailApp.search() の検索クエリは、普段のGmail検索窓で使う記法と同じです。最初は広めに書いてしまいがちですが、必ず範囲を絞りましょう。

const query = 'is:unread -label:自動返信済み label:問い合わせ newer_than:1d';
const threads = GmailApp.search(query, 0, 20);

おすすめは「ラベル」と「newer_than」を組み合わせる方法。私は問い合わせフォーム経由のメールに自動でラベルが付くようGmail側のフィルタを設定し、そのラベルだけを対象にしています。こうすれば家族からのメールに勝手に返信が飛ぶような悲劇は起きません。

ポイント2:送信先ドメインをチェックする

特にショップ運営の場合、同業者からの営業メールや、迷惑メール紛いのものにも自動返信してしまうと迷惑になります。ドメインでフィルタをかけましょう。

const from = thread.getMessages()[0].getFrom();
if (from.indexOf('@noreply') !== -1) return;

getFrom() で送信元を取り、noreply などが入っているアドレスにはそもそも返信しない、といった制御を入れます。地味ですが、これで返信事故がほぼゼロになりました。

ポイント3:トリガーを5〜10分おきに設定する

コードを書いたら、あとは自動実行の設定です。GASエディタ左側の時計マーク(トリガー)から新規トリガーを追加し、以下のように設定します。

  • 実行する関数:autoReply
  • イベントのソース:時間主導型
  • 時間ベースのトリガーのタイプ:分ベースのタイマー
  • 時間間隔:5分おき

私は最初1分おきに設定してしまい、GoogleのGmail送信上限に一瞬でぶつかりました。5〜10分間隔で十分です。お客さま体験としても「5分以内に自動返信が届く」なら、むしろスピード感があって好印象になります。

応用:営業時間外だけ返信、テンプレをシート管理

慣れてきたら、一歩進んだ運用に挑戦してみましょう。私がいま実際に回している設定はこんな感じです。

営業時間外だけ自動返信する

夜勤の日や早朝などは「◯時以降に返信します」と案内したほうが親切です。

const hour = new Date().getHours();
if (hour >= 9 && hour < 18) return;

この3行を autoReply() の先頭に入れるだけで、9時〜18時は自動返信せず、それ以外の時間帯のみ動くようになります。昼間は自分で手動返信、夜間はGASに任せる運用です。

返信テンプレをスプレッドシートで管理

コードに直接返信文を書くと、文面を変えるたびにGASを触る必要があって面倒です。私はスプレッドシートの A1 セルに本文を書いておき、そこから読み込むようにしました。

const sheet = SpreadsheetApp.openById('スプレッドシートのID').getSheetByName('テンプレ');
const REPLY_BODY = sheet.getRange('A1').getValue();

こうしておけば、スマホのスプレッドシートアプリから文言を修正するだけでOK。夫に「文章おかしくない?」とチェックしてもらう運用も、シートを共有するだけで済むので楽ちんです。

まとめ:5分で始めて、運用で磨いていく

GASでのGmail自動返信は、本当にコピペ10行で動きます。今回のレシピをもう一度まとめると、

  • script.google.com で新規プロジェクトを作る
  • 10行のコードをコピペして、ラベル名と本文を書き換える
  • 時間主導型トリガーを5〜10分おきにセット
  • 慣れてきたら、営業時間フィルタやテンプレのシート管理で運用を洗練させる

この流れで、私は問い合わせの一次返信にかけていた時間を、ほぼゼロにできました。夜勤明けの「メール溜まってるプレッシャー」から解放されたのが、個人的には一番うれしい効果です。

「GAS Gmail 自動返信」でつまずいている方の、最初の一歩になれば嬉しいです。うまくいかなかった箇所があれば、気軽にコメントで教えてくださいね。


この記事を書いた人:凛

現役ナース×副業Webエンジニア。夜勤の合間にGASを学び、Gmail・スプレッドシート・カレンダーの自動化レシピを公開中。プログラミング未経験から独学で実務レベルまで到達した経験をベースに、「コピペで動く」をモットーに情報発信しています。