##Googleフォームから自動返信メールを送信する
自動返信させるのは、Googleフォームの回答が保存されるスプレッドシートにスクリプトを書く方法とGoogleフォームにスクリプトを書く方法がありますが、ここではGoogleフォームに書く方を記します。
###自動返信のスクリプトを書く
- Googleフォームの編集画面、右上のメニューから「スクリプトエディタ」を選択し、スクリプトエディタを開きます
- スクリプトエディタに以下のように記述します。
function onFormSubmit(e) {
var itemResponses = e.response.getItemResponses();
var fullname = itemResponses[0].getResponse(); //申込者の氏名を取得
var email = itemResponses[1].getResponse(); //申込者のメールアドレスを取得
var subject = 'お菓子パーティーへの申込みが完了しました。';
var body = fullname+'様\nお菓子パーティーへようこそ!\n下記の内容で申込みを受付けました。\n\n';
for (var i = 0; i < itemResponses.length; i++) {
var item = itemResponses[i];
body += '【' + item.getItem().getTitle() + '】\n'
body += item.getResponse() + '\n\n'
}
GmailApp.sendEmail(email, subject, body);
}
申込者の氏名、メールアドレスの取得は作成したGoogleフォームでの順番で指定していますので、フォーム毎に変える必要があります。
###トリガーを作成する
保存ボタン(フロッピーディスクみたいな)をクリックして保存後、トリガーボタン(時計みたいな)をクリックします。G Suite Developer Hubというページが開くので、「新しいトリガーを作成します」をクリック。追加の設定を行い、保存します。
実行する関数:先程書いたスクリプトのfunction名
実行するデプロイを選択:Head
イベントのソースを選択:フォームから
イベントの種類を選択:フォーム送信時
###アクセスリクエストを許可する
Googleにログインを促すウインドウが開くので使用するアカウントを選択、その後アクセスリクエストを許可します。
許可後、先程のトリガー作成画面に戻るとトリガーが作成されていることを確認できます。
##自動返信のテストをする
自サイトに設置したフォームでテスト送信を行います。
フォームに入力したメールアドレスにメールが届いていれば成功。GmailApp.sendEmailのbodyにfromやnameを指定して差出人を変更することも可能。(認証が必要)
##今後の課題
今回は申込者の氏名・メールアドレスの取得に配列の番号で直接指定してしまっているので、汎用性...
他の方法で取得可能かを試したい。