お問い合わせやアンケートなど様々な使い方ができるGoogleフォームで、回答(フォームからのお問い合わせ)があったとき、メールで通知する3つの方法です。
Googleフォームの通知を使う
グーグルフォームの設定画面、回答の欄を選択し3つの点をクリックします。
「新しい回答についてのメール通知を受け取る」をクリックします。
チェックマークがついていれば完了です。
スプレッドシートとリンクさせてスプレッドシートから送信する
グーグルフォームの回答をまとめておくのに、スプレッドシートを利用される方が多いかと思います。
スプレッドシートとフォームをリンクさせている場合、スプレッドシートからメールを送信することが可能です。
グーグルフォームとスプレッドシートをリンクさせる
グーグルフォームの回答>緑色のプラスボタンをクリックします。
グーグルフォームとリンクさせるスプレッドシートを選択(新規作成)します。
スプレッドシートでツール>通知ルールをクリック。
ユーザーがフォームを送信したとき
メールーその都度
の設定がよいかと思います。
再度、スプレッドシートでツール>通知ルールをクリックすると、別のルールを追加して、通知することもできます。
Google Apps Scriptを使ってメール通知する
グーグルフォームとスプレッドシートからのメール送信はgmailだけしか設定できませんが、Google Apps Scriptを使用するとgmail以外のメールアドレスでも設定できます。
画面幅を広くする
まずは、画面サイズ(ウィンドウサイズ)を広くしましょう。
画面サイズ(ウィンドウサイズ)を広くしないと、設定するところが表示されません。
画面サイズ(ウィンドウサイズ)が小さいと、3点をクリックしてもメニューにスクリプトが表示されません。
スクリプトを設定する
送信ボタンの右側にある3つの点をクリックして、メニューを表示させます。
メニューにあるスクリプトエディタをクリックしましょう。
スクリプトをコピペ
上のような画面に切り替わりますので、下記のスクリプトをコピペし、メールアドレス、メール件名を変更しましょう。
function sendform(e){ var items = e.response.getItemResponses(); var msg = ''; for (var i = 0; i < items.length; i++) { var item = items[i]; var q = item.getItem().getTitle(); var a = item.getResponse(); msg += q + ': ' + a + '\n\n'; } GmailApp.sendEmail('送信先のメールアドレス', '送信件名', msg); }
メール本文の変数がmsgで、for文でグーグルフォームのアイテムタイトル?(質問1など)と、答えをグーグルフォームで設定した分だけ回して、本文にしています。
もし、本文に回答が必要なければ、次のようにしてもよいかと思います。
function sendform(e){ GmailApp.sendEmail('送信先のメールアドレス', '送信件名', 'メール本文 改行するときは\nを入れる'); }
トリガーの設定
スプリプトを実行してもらうために、トリガーを設定します。
トリガーを設定しないと、メールは送信されません。
スクリプトを入力した画面で、編集>現在のプロジェクトのトリガーをクリックします。
下記のように設定しましょう。
これで設定は終了です。
実際にメールが送信されるか確認するようにしましょう。
最も早く通知できるのはGoogle Apps Script
3つとも設定してテストした結果、Google Apps Scriptが最も早く、フォームとスプレッドシートは同じタイミングでメールがきました。
恐らく、環境などで変化すると思いますが、参考にしてくださいね。