Info kplace.plala.jpから移設しました

■目的

Google Formの自動返信メールをForm Notificationsアドオンから Apps Scriptに変更です。
これにより「xxxx 様」のようなユーザ情報を含むメッセージ作成を可能にします。

■自動返信メール

Google Formで自動返信メールを実行するには3つの方法があります。
今回はGoogle Apps Scriptを用いた自動返信メールを設定です。
ただし無料プランでは1日100宛先までの制限ありです。

内容
標準 [回答のコピーを送信]
メッセージの編集はできない
アドオン [Form Notifications]..従来
アドオンによるメッセージの簡単なカスタマイズが可能
無料プランでは1日100宛先までの制限あり
スクリプト [Google Apps Script]
送信されたデータを含めてメッセージのカスタマイズが可能
無料プランでは1日100宛先までの制限あり

■Script設定

Formデータ保存のスプレッドシートのApps Script画面でスクリプトを作成します。
  1. スプレッドシートを開いて[拡張機能][Apps Script]でApps Script画面を開きます。
  2. 画面上の「無題プロジェクト」名を適当な名称に変更します。
  3. qiitaサイト等のサンプルをベースに、[コード.gs]をカスタマイズし[保存]します。
script-code

■トリガー設定

Apps Script画面で返信タイミングと返信に使うGoogleアカウントを設定し、Apps Scriptアプリからアカウントへの必要なアクセス権を許可します。
  1. Apps Script画面で[トリガー][+トリガーを追加]で設定画面を開きます。
  2. [イベントの種類を選択=フォーム送信時]以外はデフォルトにして[保存]します。
  3. [Choose an Account]画面が開くのでメール送信のGoogleアカウントを指定します。
  4. Google hasn't verified this appに対しては[Advanced][Go to プロジェクト名(unsafe)]を選択します。
  5. Googleアカウントへのアクセスに対して[ALLOW]で応答します。
  6. トリガーが追加されたのを確認して終了です。
script-trigger

■Scriptサンプル

今回はメールの内容を最小限にしてスクリプトもシンプルです。
返信先メールアドレスemailとユーザ名USERNAMEはFormで送信されたユーザ情報になります。
// 自動返信メールのスクリプト
function onFormSubmit(e) {

// 返信先のメールアドレス、ユーザ名を取得する
var email = e.namedValues['E-MAIL'][0];
var USERNAME = e.namedValues['氏名'][0];

// 返信メールの件名
var subject = '競技会申込受付';

// メールの本文
var BODY = USERNAME + ' 様\n\n' +
'競技会への参加申込み有難うございます。\n' +
'申込書を受付けましたので連絡いたします。\n' +
'なおスケジュールなど詳細はホームページを参照ください。\n' +
'https://xxxx.xxx/xxxx.html \n\n' +
'**このメールは自動返信されたものです。**\n' +
'**またこのメールへの返信はできません。**\n\n' +
'競技会実行委員会\n' +
'メール:xxxx@xxx.xxx\n' +
'電 話:xxx xxxx xxxx\n';

// メールを返信する
MailApp.sendEmail({
to: email,  //返信先メールアドレス
name:"競技会実行委員会",  //返信元名称
subject: subject,  //件名
body: BODY  //本文
});
}

■メールサンプル

Script Appsで作成されたメールのサンプルです。
斜体のemailUSERNAMEには返信先ユーザの情報が表示されます。
Subject:     競技会申込受付
Date:     Wed, 12 Oct 2022 11:27:25 +0000
From:     競技会実行委員会<xxx@gmail.com>
To:    email

USERNAME 様

競技会への参加申込み有難うございます。
申込書を受付けましたので連絡いたします。
なおスケジュールなど詳細はホームページを参照ください。
https://xxxx.xxx/xxxx.html

**このメールは自動返信されたものです。**
**またこのメールへの返信はできません。**

競技会実行委員会
メール:xxxx@xxx.xxx
電 話:xxx xxxx xxxx

■結果


  blog    MovableType