2016年5月でも使えたGoogleフォームでの返信スクリプト

最近はお問い合わせフォームにGoogleフォームを使用しております。

今まではphpでフォームを作っていたのですが、
Googleフォームはお客さんでも簡単に作成できて確実にデータを受け取ることができるからです。

Googleフォームのデメリットとして標準機能では自動返信メールやBccなど普通のフォームのような機能がありません。

ですがGoogleAppScriptを使用することによって自動返信メールを送信することができます!

「GoogleAppsScript 自動返信」で検索すると2014年と古い記事が多かったです。

昔の記事には注意!

特にプログラムをよくわかっていない人は要注意です。

コピペで動いていてGoogle側で更新されるとスクリプトが正常に動かなくなります。

undefined のメソッド「getItemResponses」を呼び出せません。

こんなエラーが出たりします。
がんばって修正しようとしましたがGoogleAppScriptに詳しくない為、断念・・・

動くスクリプトはないかーないのかー。

Googleフォームで自動返信システムをサクッとつくる

参考させていただいたサイト
ascii.jp/elem/000/000/879/879412/index-4.html

こちらのサイトに書いてある通りに記述するとエラーもなく自動返信ができました。


function submitForm(e){
var itemResponses = e.response.getItemResponses();
var message = '';
var username = '';
var mail = '';
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
if (question == 'お名前'){
username = answer;
}
if (question == 'メールアドレス'){
mail = answer;
}
message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
}
var address = '◯◯◯◯◯@gmail.com';//管理者(自分の)のGmail
var cc = ""; // Cc:
var bcc = ""; // Bcc
var title = 'お問い合わせフォームが送信されました';
var content = '以下の内容でフォームが送信されました。\n\n' + message;
GmailApp.sendEmail(address, title, content);
GmailApp.sendEmail(cc, title, content);
GmailApp.sendEmail(bcc, title, content);
//フォーム送信者への返信
var title2 = 'ご連絡ありがとうございます。';
var content2 = username + '様\n\nこの度は◯◯◯お申込みいただき\n誠にありがとうございます。\n'
+ '\n予約フォームページからの予約は仮予約となります。\n受け付け確認後に再度メールをおおくりさせていただきます。\n\nお申込みいただいた内容は以下の通りです。\n\n──────────────────────────────────\n\n'
+ message
+ '\n──────────────────────────────────\n\n〒◯◯◯-◯◯◯◯\n◯◯◯◯◯◯◯◯◯\n電話番号:◯◯◯-◯◯◯-◯◯◯◯\nメール:◯◯◯◯@◯◯◯◯◯\n◯◯◯◯会社'
;
GmailApp.sendEmail(mail, title2, content2);
}

参考の記事にCcとBccを追加しております。
念のためGoogleスプレットシートの変更があった場合Gmailに通知が届くように設定しています。

これで取りこぼしがないフォームができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です