前回は、GoogleフォームとHTMLフォームの紐付けを行い、非同期送信を行うところまでいきました。
ただ、このままだとGoogleフォームに送信がおこなわれても、
- 通知がないので、運営者が気づかない
- 自動返信メールがないと、送信側も本当に送信できているか不安
といった面で、まだ実用性に欠けます。
そこで、今回は「Google Apps Script」でその機能を実装していこうと思います。
自作フォームでなく、Googleフォーム単体で使われる場合でも、今回の方法をお使いいただけます。
前提条件:Googleフォームはすでに作成済み
この記事の反響
Google Apps Scriptの記入
今回は前回作ったフォームを例にします。
ここの質問タイトルや質問形式でこの後のコードが若干変わりますので、ご注意ください。
まずは、フォーム管理画面の右上の点線3つから、スクリプトエディタを選択します。
そしたら、最初から書き込まれているコード(myfunction)は削除して、以下のコードに書き換えます。
function submitForm(e){
var itemResponses = e.response.getItemResponses();
var message = '';
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
if (question == 'お名前'){
var username = answer;
}
if (question == 'メールアドレス'){
var usermail = answer;
}
if (question == 'お好きなプログラミング言語'){
var lang = answer;
}
if (question == '自由記述'){
var freetxt = answer;
}
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
/* 管理者宛メール送信設定 */
var address = 'youraddress@gmail.com';
var title = '[shogo web creatingへのお問合せを受信しました]';
var content = '下記の内容で、お問合せを受信しました。\n\n'
+ message
+ '\n\n'
+ '※このメールはGoogleフォームからの自動送信メールです。';
var options = {from: 'youraddress@gmail.com', name: '石井正悟', replyTo: usermail};
GmailApp.sendEmail(address, title, content, options);
/* ユーザー宛メール送信設定 */
var title2 = '[shogo web creatingへのお問合せを受付けました]';
var content2 = username
+ ' 様\n\n'
+ 'この度は、お問合せいただき、ありがとうございます。\n'
+ '下記の内容で、受付けました。\n'
+ '後ほど折り返しご連絡させていただきますので、いましばらくお待ちください。\n\n'
+ message
+ '\n\n'
+ '----------\n'
+ 'shogo web creating\n'
+ 'https://shogo141.work'
+ '\n\n※このメールはGoogleフォームからの自動送信メールです。';
var options2 = {from: 'youraddress@gmail.com', name: 'shogo web creatingお問合せフォーム'};
GmailApp.sendEmail(usermail, title2, content2, options2);
}
このままのコードでメール送信機能の部分はできているので、あとはご自身のフォームに合わせてコードや文言を変えて行けばいいです。
上から順に解説します。
if (question == 'お名前'){
var username = answer;
}
if (question == 'メールアドレス'){
var usermail = answer;
}
if (question == 'お好きなプログラミング言語'){
var lang = answer;
}
if (question == '自由記述'){
var freetxt = answer;
}
ここのquestion==”の部分は、Googleフォームの質問タイトルと同じ文言にしてください。
varの変数名は適当で大丈夫ですが、メール本文に受け取った値を使いたい場合は、この変数名を使うことになるのでご注意ください。
管理者宛の設定
/* 管理者宛メール送信設定 */
var address = 'youraddress@gmail.com';
var title = '[shogo web creatingへのお問合せを受信しました]';
var content = '下記の内容で、お問合せを受信しました。\n\n'
+ message
+ '\n\n'
+ '※このメールはGoogleフォームからの自動送信メールです。';
var options = {from: 'youraddress@gmail.com', name: '石井正悟', replyTo: usermail};
管理者宛メールの送信先は
- address:ここに管理者宛のメールアドレス(受託制作の場合、先方のアドレス)
- title:件名
- bcc:他のアドレスにも送りたい時(今回未設定)
- メールの送信元はfrom:おそらくaddressと一緒でok
- name:メーラーで表示される送信元の名前
- replyTo:管理者宛にきたメールに返信したらユーザーさんへのメールが立ち上がる
送信者向けの設定(お問い合わせ者)
/* ユーザー宛メール送信設定 */
var title2 = '[shogo web creatingへのお問合せを受付けました]';
var content2 = username
+ ' 様\n\n'
+ 'この度は、お問合せいただき、ありがとうございます。\n'
+ '下記の内容で、受付けました。\n'
+ '後ほど折り返しご連絡させていただきますので、いましばらくお待ちください。\n\n'
+ message
+ '\n\n'
+ '----------\n'
+ 'shogo web creating\n'
+ 'https://shogo141.work'
+ '\n\n※このメールはGoogleフォームからの自動送信メールです。';
var options2 = {from: 'youraddress@gmail.com', name: 'shogo web creatingお問合せフォーム'};
- title2:件名
- content2:本文
- from:メールの送信元アドレス
- name:送信元の名前
一応中身を解説すると、+で内容を付け足していって、ただそのまま文章を送ると改行されていない状態のメール文になってしまうので、
\nで改行を入れています。
スクリプトを保存し、トリガー設定
まずは記入し終わったコードを保存します。
その後、以下のように設定し、フォーム送信時に記入したスクリプトが動作するようにします。
googleフォーム送信テストを行う
以下の内容でお問い合わせをして見ます。
管理者あてのメール

送信者への自動返信メール
これでいいかな?
Googleフォームを案件で使う際のデメリット
アカウントをどうするか
自分のサービス、ページのフォームならこれでもいいですが、受託案件でフォームを作る場合、少しめんどくさそうです。
- Googleフォームは基本的に先方に作ってもらう
- Google Apps Scriptを記入するために、相手のGoogleアカウント情報をもらってログインする必要がありそう(非エンジニア相手に自分でやってもらうのは難易度的に難しい)
2020/03/18 追記 共同編集者として招待してもらえば良さげ
Googleアカウント情報をもらわなくても、相手にGoogleフォームへの「招待」をしてもらえれば解決しそうです!
HTML初心者からWordPress実案件レベルまでのコーディング演習課題を「専用ページ」にて公開しています。

- Figma,Photoshopデザインからのコーディング
- サーバーアップロードでサイト公開
- プロによる最大3回の表示確認特典
- レビュー返しは爆速
- 2024年にデザイン刷新!被らないポートフォリオ
「初級編」は初めてデザインからコーディングする方向け
「中級編」はJavaScriptやjQueryの練習
「上級編」はWordPressの実案件を模擬体験できるレベル感にしています。
中級者の方には高難易度課題を詰め合わせた「即戦力セット」も出しています。
全課題で「実務レベルの、プロの厳しいレビュー」を受けられるようにしています。
また、2024年には随時デザインの刷新をしており、完全リニューアル!!
他者と差をつけられるポートフォリオが準備できます!

制作会社も使用する専用レビューツールで分かりやすく添削していきます!
基本的に「まとめて購入」していただくとかなりお得になります↓

コーディングは書籍だけではなかなか実力がつかないので、実務レベルのレビューを受けて自身をつけたい人は是非挑戦してみてください!

\課題の購入はこちらから/
ご寄付を頂けると今後の更新の励みになります!