Googleフォームに来た回答に自動で確認メールを送信させてみた
Googleフォーム、便利ですよね~
簡単な調査や確認を取るためによく使うのですが、 - 例えばセミナーのアンケートであったり - 出席確認であったり - イベントの申し込みであったり
その用途は幅広いですね!
ただ、回答した人に対して、何らかのメッセージが届いたらいいとは思いませんか?
例えば、
- アンケートに答えた人に対して、専用のリンクを張って、セミナー資料を配布したり
- 出席者に対してのみ、場所の案内図や参加費の振込先を記載したり
- イベント申し込みの特典を返信メールで送ったり
特にクラウドストレージやスマホ決済が普及しつつある今、少し柔軟に考えれば、これまでのWebの常識も覆せることもできるかもしれません。
さて、具体的な方法について、以下で紹介していきます。
Googleフォームの作成
Googleフォームについては、十分知っているよ!
という方は、この章は飛ばしていただいてよいかと思います。
まず、googleフォームの作成画面より、フォームを新規作成します。
https://www.google.com/intl/ja_jp/forms/about/
続いて、自身がフォームにて収集したい情報などを基に、質問項目を作成します。
完成したら、送信ボタンをクリックし、任意の形式で出力します。
私の場合は、URLで出力して、それを配布するようにしました。
たとえば、このURLをQRコードにして配布するのもありですね。
QRコードの生成は、「QR 生成」などでググればたくさん出てくると思うので、そちらを参考にして、使ってみてください。
こんな感じで作ってみました。
GASをGoogleフォームに組み込む
GASというのは、Google Apps Scriptの略で、Googleが提供する JavaScriptベースの開発環境です。
これを用いることで、Googleの様々なサービスと連携することができます。
プログラミングをやったことはもちろん、これからプログラミングを始めようって人にも、実用性が高く学びやすい言語だと思います。
StackOverflowの2019年の調査においても、JavaScriptが地球上で最も広く利用されている言語だとされています。
https://insights.stackoverflow.com/survey/2019
さて、具体的な方法ですが、まずは、先ほどのGoogleフォームの編集画面よりスクリプトエディタを開きます。
そして、コードを書きます。
コードサンプルは、以下に記載します。
// FormApp.getActiveForm() function autoMailSender(e){ Logger.log('autoMailSender execute...'); var itemResList = e.response.getItemResponses(); var name = itemResList[0].getResponse(); //フォームの1番目の質問から取得する回答 var mail = itemResList[2].getResponse(); //フォームの3番目の質問から取得する回答 var border = '----------\n'; var addr = '******@******'; //管理用アドレス var title = '[自動送信]【2019年第一回セキュリティ勉強会】参加申し込みを受け付けました'; var msg = '【応募内容】\n\t<氏名>: ' + name + '\n\t<メールアドレス>: ' + mail + '\n'; var msgAccount = '\n 懇親会に参加される方は、以下の口座へ、懇親会費3,000円の振り込みをお願いします。\n' + 'なお、振込手数料はご自身での振り込みになりますので、予めご了承ください。\n ' +'当日支払いの場合は、3,500円となりますので、ご協力のほどよろしくお願いいたします。\n\n' +'振込口座は以下になります。\n' + border + 'みっきー銀行 \n 申す支店 100 \n 普通 1000000 \n 名義 ミツキ モウス \n ' + border var msgTemplate = '※このメールはGoogleフォームからの自動送信メールです。\n お問い合わせは本メールへ返信ください。\n' var options = { name: 'セキュリティ勉強会事務局', cc: addr }; //ccに含む連絡先の指定 Logger.log('Mail sending...'); // 応募者向けメールの送信 var mailBody = name + ' 様\n\n' + '下記の内容で、受付けました。\n' + border + msg + border + msgAccount + border + msgTemplate; GmailApp.sendEmail(mail, title, mailBody, options); }
コードが書ければあと一歩!
トリガーの指定をします。
ポイントは、イベントソースを「フォームから」にすること、 あとはお好みですが、私は、エラー通知設定を「今すぐ通知を受け取る」にしました。
そして、フォームに誰かが投稿すると。。。
このような形で、自動でメールが飛んできます!
便利~
まとめ
このような形で、とても簡単にフォームをトリガに、メールで通知することができます。
とても便利だし、手軽ですよね。
この記事は、会社の元同僚に教えてもらって、実践・執筆してみました。 彼もちょこちょこ記事を書いているようなので、もしよかったら見てみてください。
この記事を参考にこんなことできたよ~
みたいなことがあれば教えてもらえると嬉しいです!
ではでは。