【2026年版】Googleフォームで自動返信メールを設定する方法。コピペで使えるApps Script付き
Googleフォームで回答者へ自動返信メールを送りたいときに、標準機能でできる回答コピー送信とApps Scriptで本文を作る方法を分けて扱います。
Googleフォームで問い合わせや申込を受けると、送った人に「受け付けました」と返したくなります。標準機能でも回答のコピーは送れますが、件名や本文をきちんと整えたい場合は少し物足りません。最初に標準機能で足りる受付なのかを見て、必要なときだけApps Scriptで本文や社内通知を補うほうが、運用は軽く保てます。

目次
標準機能でできるのは、回答コピーの送信

Googleフォームには、メールアドレスを収集したうえで回答者へ回答のコピーを送る機能があります。設定画面の「回答」からメールアドレスの収集を有効にし、回答のコピーを送信する設定にすれば、コードを書かずに受付メールに近いことができます。
たとえば、社内勉強会の参加希望や、少人数の懇親会出欠確認なら、回答コピーだけでも十分です。回答者が知りたいのは「自分が何を送ったか」なので、会社名入りの件名や丁寧な案内文より、控えが届くことを優先してよい場面です。
一方で、外部向けの問い合わせ、資料請求、採用応募、来店予約では、回答コピーだけだと少しそっけなく見えます。回答者は、送信できたかだけでなく、いつ返事が来るのか、変更したいときはどこへ連絡するのか、入力内容が社内でどう扱われるのかを気にします。
ただし、これはあくまで回答内容の控えです。会社名を入れた件名、返信目安、担当部署からの案内、資料ダウンロードURLのような本文を自由に作りたい場合は、標準機能だけでは足りないことがあります。問い合わせフォームとして使うなら、次のApps Script方式を検討します。
- 回答者のメールアドレスを収集する設定にする
- まずは回答コピーで足りるか確認する
- 本文や件名を変えたい場合はApps Scriptを使う
コピペ用のApps Script
Googleフォームの回答をスプレッドシートに保存している場合、フォーム送信時にApps Scriptを動かしてメールを送れます。下のコードは、質問名が「メールアドレス」「お名前」「お問い合わせ内容」になっている前提です。自分のフォームに合わせて、質問名と本文だけ変えてください。
コードは、回答先のスプレッドシートを開き、「拡張機能」からApps Scriptを開いて貼り付けます。保存したら、左側のトリガーから関数を `sendAutoReply`、イベントの種類を「フォーム送信時」にして追加します。初回だけGoogleアカウントの承認が必要です。
たとえば、問い合わせフォームなら本文に「通常2営業日以内に返信します」と入れます。イベント申込なら「開催日時」「会場」「変更がある場合の連絡先」を入れます。資料請求なら、すぐにダウンロードURLを送るのか、担当者確認後に送るのかで本文を分けます。同じ自動返信でも、受付の種類によって書くべき内容は変わります。
function sendAutoReply(e) {
const values = e.namedValues;
const email = getAnswer(values, "メールアドレス");
const name = getAnswer(values, "お名前") || "お客様";
const message = getAnswer(values, "お問い合わせ内容");
if (!email) {
return;
}
const subject = "お問い合わせを受け付けました";
const body = `${name} 様
お問い合わせありがとうございます。
以下の内容で受け付けました。
------------------------------
お名前: ${name}
メールアドレス: ${email}
お問い合わせ内容:
${message}
------------------------------
内容を確認し、担当者よりご連絡いたします。
通常、2営業日以内に返信いたします。
このメールは自動送信です。
`;
MailApp.sendEmail({
to: email,
subject: subject,
body: body,
name: "お問い合わせ受付"
});
}
function getAnswer(values, questionTitle) {
const answer = values[questionTitle];
return answer && answer.length > 0 ? answer[0] : "";
}- フォームの質問名とコード内の文字を完全に合わせる
- テスト送信して自分のメールアドレスに届くか確認する
- 初回実行時の権限承認を忘れない
トリガー設定でつまずきやすいところ
コードを貼っただけでは自動返信は動きません。Apps Scriptのトリガーで、実行する関数に `sendAutoReply` を選び、イベントのソースをスプレッドシート、イベントの種類をフォーム送信時にします。Google公式のApps Scriptでは、フォーム送信イベントで `namedValues` を使うと、質問名ごとに回答を取り出せます。
たとえば、フォーム上の質問名を「メールアドレス」から「メールアドレス(半角)」に変えたのに、コード側を直していないと、送信先が空のままになり自動返信は止まります。担当者が見た目の文言だけを整えたつもりでも、Apps Scriptでは質問名がキーになるため、公開後の小さな文言変更も確認対象になります。
よくあるミスは、質問名のズレです。フォーム側が「メールアドレス」ではなく「メールアドレス(必須)」になっているだけでも、コードはメールアドレスを見つけられません。うまく届かないときは、まず質問名を見直します。
テストでは、自分のメールアドレスだけでなく、個人用メールと会社用メールの両方で確認します。迷惑メールフォルダに入る、携帯キャリア系のアドレスで届かない、回答者がメールアドレスを打ち間違える、といった問題は、コードだけを見ても分かりません。
本文に載せる情報は、受付の種類で変える
自動返信メールは、長く丁寧に書けばよいわけではありません。回答者が次に迷わないための情報に絞るほうが読みやすくなります。特にGoogleフォームの回答内容をそのまま差し込む場合、自由記述欄や社内確認用の項目までメールに載せると、読みづらくなることがあります。
たとえば、資料請求フォームなら「資料名」「会社名」「メールアドレス」「今後の案内」だけで足ります。問い合わせ本文を丸ごと載せるより、受付番号や返信目安を入れるほうが、あとで問い合わせを照合しやすくなります。
たとえば、予約や個別相談のフォームでは、自動返信を予約確定メールとして扱わないほうがよい場合があります。日程調整や空き枠確認が必要なら、「このメールは受付確認です。担当者からの連絡をもって日程確定となります」と明記します。
採用応募や取材依頼のように個人情報や添付前提のやり取りがある受付では、入力内容を全文で返さない設計もあります。自動返信には受付完了、今後の流れ、問い合わせ先だけを載せ、詳細は社内の回答シートで確認するほうが扱いやすいです。

- 受付完了、返信目安、連絡先を本文に入れる
- 予約や相談は、自動返信だけで確定かどうかを明記する
- 個人情報や自由記述をメールに載せすぎない
管理者にも通知したい場合
回答者への自動返信だけでなく、社内にも通知したい場合は、同じ関数の中で管理者宛のメールを追加できます。問い合わせ対応では、回答者向けと社内向けで本文を分けるほうが見やすいです。
社内通知には、フォームの回答先スプレッドシートへのリンクや、対応ルールを書いておくと便利です。ただし、個人情報を含む内容を複数人に転送する場合は、送信先を必要な範囲に絞ります。
たとえば、問い合わせ種別が「資料請求」なら営業担当へ、「採用について」なら採用担当へ回したい場面があります。GoogleフォームとApps Scriptだけでも条件分岐は書けますが、担当者が増えるほどコードの修正とテストが必要になります。最初は通知先を1つにまとめ、運用が固まってから分岐を足すほうが事故を減らせます。
MailApp.sendEmail({
to: "admin@example.com",
subject: "Googleフォームに新しい回答がありました",
body: `新しい問い合わせが届きました。
お名前: ${name}
メールアドレス: ${email}
お問い合わせ内容:
${message}
`
});送信数と運用の限界は先に見ておく
Apps Scriptのメール送信には、アカウントごとの送信上限があります。Google公式のMailAppにも、その日に送信できる残りの受信者数を確認するメソッドが用意されています。イベント申込やキャンペーンで一気に送信が増えるフォームでは、事前に送信上限を確認します。
たとえば、展示会直後に資料請求フォームへ数百件の送信が集中する運用では、自動返信だけでなく社内通知も同時に送るため、想定より早く送信数を使うことがあります。応募や申込が短期間に集まるフォームでは、事前にテスト送信だけでなく、ピーク時の件数と通知先の数も見積もっておくほうが安心です。
自動返信の差出人にも注意します。Apps Scriptで送るメールは、基本的に実行するGoogleアカウント側の送信として扱われます。回答者がそのメールに返信したとき、誰が読むのか、退職者や個人アカウントのままになっていないかは、公開前に確認しておきます。
また、GoogleフォームとApps Scriptを組み合わせた運用は、質問名の変更、トリガーの停止、権限切れ、迷惑メール判定など、見る場所が少し増えます。小さな社内受付なら十分ですが、企業サイトの問い合わせ窓口として長く使うなら、回答保存、通知、確認画面までまとめて扱えるツールを選んだほうが説明しやすい場面もあります。
- 大量送信がありそうなフォームでは送信上限を確認する
- フォーム項目を変えたらApps Scriptも見直す
- 問い合わせ窓口では、回答保存と通知の両方をテストする
Formieなら、フォーム運用ごと分けられる
Googleフォームは手軽ですが、問い合わせフォームとして使い込むほど、確認画面、完了画面、回答管理、CSV出力、通知メールの扱いをどうするかが気になってきます。Apps Scriptで足せることもありますが、フォームごとにコードを持つと保守は少し重くなります。
Formieは、確認画面つきフォームを会員登録なしで作り始められ、公開URLやiframe埋め込み、回答管理、CSV出力まで扱えます。Googleフォームで自動返信メールの設定に悩んでいるなら、フォーム部分だけを別ツールに分ける判断もあります。

