DMGP2ndが買えるようになったら通知するChrome拡張
アイコンが赤くなるだけのChrome拡張。
↓ イメージ
↓ ファイル
dmgp_alert.zip - Google ドライブ
Googleフォームに自動返信機能を付け足す方法
受付の成功、失敗をユーザに知らせるために、自動返信機能をGoogleフォームに足してパワーアップさせてみましょう。
この記事は以下の様な方々にオススメします。
1. 受付完了を知らせたいと思っている方
2. フライング投稿に悩んでいる方
※注意
メールの送信元アドレスが、Googleフォームを作成しているアカウントのメールアドレスになります。
個人で使用しているアカウントで作成しますと、トラブルの元になる可能性がありますので、必ず専用のアカウントを作成し、次の作業を行ってください。
Googleフォームを作ろう
今回は以下の様なフォームを作成した上で進めます。投稿者にメールを送信するため「メールアドレス」の項目は必要です。必ず「入力必須」で追加しましょう。
返信スクリプトを追加しよう
画面右上の「その他アイコン」から「スクリプトエディタ」を選びます。
新しいタブにスクリプトを入力する画面が開きます。
下に記載しているコードを全てコピーし、上書きましょう。
コード.gs
/*************************************************************************/ var name = "CS運営事務局"; // 送信者の名前 var startDate = "2016/04/01 09:00:00"; // 受付開始時間 例:2016/04/01 09:00:00 var endDate = "2016/04/30 23:59:59"; // 受付終了時間 例:2016/04/30 23:59:59 var playerNameTitle = "ハンドルネーム"; // ハンドルネーム記入欄のタイトル var mailAddressTitle = "メールアドレス"; // メールアドレス記入欄のタイトル var successFileName = "成功メール"; // 受付成功メールテンプレートのファイル名 var successSubject = "受付完了のお知らせ"; // 受付成功メールのタイトル var errorFileName = "失敗メール"; // 受付失敗メールテンプレートのファイル名 var errorSubject = "受付失敗のお知らせ"; // 受付失敗メールのタイトル /*************************************************************************/ var playerName; function submitForm(e) { var itemResponses = e.response.getItemResponses(), name, recipient; for (var i = 0; i < itemResponses.length; i++) { var response = itemResponses[i]; var question = response.getItem().getTitle(); switch (question) { case playerNameTitle: name = response.getResponse(); playerName = name; break; case mailAddressTitle: recipient = response.getResponse(); break; } } sendMail(recipient, getMailContent(name)); } function getMailData() { return { playerName: playerName, registedAt: Utilities.formatDate(new Date(), "JST", "yyyy/MM/dd HH:mm:ss") }; }; function getMailContent(name) { var date = new Date(), subject, body; if (new Date(startDate) <= date && date <= new Date(endDate)) { subject = successSubject; body = HtmlService.createTemplateFromFile(successFileName); } else { subject = errorSubject; body = HtmlService.createTemplateFromFile(errorFileName); } return { subject: subject, body: body.evaluate().getContent() }; }; function sendMail(recipient, content) { var options = { name: name, noReply: true, htmlBody: content.body }; GmailApp.sendEmail(recipient, content.subject, "", options); };
貼り付けたら、保存します。ファイル→保存をクリックします。プロジェクト名はそのままで構いません。
メールテンプレートを追加しよう
返信するメール本文を追加しましょう。
ファイル→新規作成→HTMLファイルの順に進み、クリックします。作成するときのファイル名は、受付時間内に投稿した場合に送信するメールを「成功メール」、フライングした場合のメールを「失敗メール」としましょう。
(別名で作成した場合は、上のコード内にある該当箇所を修正すれば大丈夫です)
ファイルを作成後、下にあるコードを全てコピーし、各ファイルに上書き、保存していきます。
成功メール.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <? var data = getMailData(); ?> <?= data.playerName ?>様<br> <br> =======================<br> ★受付完了のお知らせ★<br> =======================<br> <br> ○○CSへご登録いただきありがとうございます。<br> 参加受付の手続きが下記のとおり、完了いたしました。<br> <br> ハンドルネーム:<?= data.playerName ?><br> 受け付け日付 :<?= data.registedAt ?><br> <br> </body> </html>
失敗メール.html
<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <? var data = getMailData(); ?> <?= data.playerName ?>様<br> <br> =======================<br> ※受付失敗のお知らせ※<br> =======================<br> <br> ○○CSへご登録いただきありがとうございます。<br> 受付期間外の為、参加受付に失敗しました。<br> 期間内に登録して頂ますよう、よろしくお願いします。<br> </body> </html>
送信された時にメールを送るトリガーを追加しよう
フォームから送信された時にメール送信されるよう、トリガーを追加します。
時計マークをクリックし、トリガー登録画面を開きます。
トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。をクリック、そのまま保存をクリックすることで追加完了です。
承認が必要と言われた場合、続行→許可の手順で進めます。
確認してみよう
これで作業はおしまいです。タブを閉じ、作成したGoogleフォームから「ハンドルネーム」「メールアドレス」を入力し、送信します。
入力したメール宛てに成功または失敗のメールが届けば作業完了です。
お疲れ様でした。