LoginSignup
12
9

More than 5 years have passed since last update.

[GAS] Google Apps ScriptでGoogleフォームの返信メールをカスタマイズする

Last updated at Posted at 2017-02-11

デフォルトでも自動返信メールを設定できるが、
Fromもnobody@google.comでGoogle感丸出しなので
GASを使ってオリジナルの返信メールを送れるようにする

image

エンドユーザー向けに使う場合などは、これだとおもてなし不足:(

手順

1. Emailアドレスを入力項目に含むGoogleフォームを作成

image

2. Google Formのエディット画面のメニューから、「スクリプトエディタ」を選択し、
以下のスクリプトを書く

function submitForm(e){
  // Eメールアドレスが何番目の項目か設定
  var EMAIL_INDEX = 0;

  var itemResponses = e && e.response && e.response.getItemResponses();

  if (!itemResponses) {
      Logger.log("faild get response");
      return false;
  }

  var email = itemResponses[EMAIL_INDEX] && itemResponses[EMAIL_INDEX].getResponse();
  if (!email) {
      Logger.log("faild get email");
      return false;
  }

  // タイトル
  var title = '自動返信テスト';

  // ここに本文を書く
  var content = [
    '自動返信のテスト',
    'だあああああああああああああああああああああああ',
    '',
    'よろしく',
    '\(^o^)/',
  ].join('\n');

  GmailApp.sendEmail(email, title, content);
}

3. リソース > 現在のプロジェクトのトリガー から以下のようにフォーム送信時のトリガーを設定する

image

あとはこのGoogleフォームからフォームに回答すると、以下のような感じでメールが送信される

image

おまけ:Fromを変えたい

Fromがフォームを作成したGoogleアカウントになるので、これを別のアドレスにしたいという場合は、
sendEmailの第4引数にオプションとしてfromを指定できる。

GmailApp.sendEmail(email, title, content, {
  from: "hogehoge@hogehoge.com"
});

ただし、Gmailの設定でエイリアスに指定されているメールアドレスじゃないとエラーになるので、Gmail側の設定が必要。また、メールアドレスの確認フローがあるため、存在しないメールアドレスを指定することは不可能。
https://www.ka-net.org/blog/?p=4441

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9