1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【GAS】google formの自動返信メールをHTMLで送信する

Last updated at Posted at 2021-07-30

目的

Google formの自動返信をGASを使って行う方法はたくさん記事ができているのものの、
・HTML形式でメール送信
・送信元を指定する

の2つの要素を包含できているものがなかったので、備忘がてらまとめておく。

基本のやり方

スクリプトエディタの開き方や、トリガーの設定方法などは、既存記事にあるので、ここは省略。

下記参照:
【簡単!】Googleフォーム送信時にGASを自動実行する方法
https://www.yukibnb.com/entry/form_trigger

HTML形式での送信のやり方

コード.gsファイルと、message.htmlファイルをスクリプトエディタのなかにファイルを作成
image.png

コード.gsの例

コード.gs
function onFormSubmit(e) {
  // フォームの回答を取得 回答順で指定する
  var email = e.values[1]; //メールアドレス
  var companyName = e.values[2]; //法人名

 //使用するhtmlファイルを指定
  var html = HtmlService.createHtmlOutputFromFile("message").getContent();

  //メールの設定
  let to = email;
  let subject = "アンケート回答の御礼"; //件名
  let body = 'htmlメールが表示できませんでした'; //message.htmlが表示できない時の予備
  let options = {
    from: '~~~~~~~~~~', //送り元(必要に応じてカスタム)
    cc: '~~~~~~~~~, ~~~~~~~~', //CCの設定(必要に応じてカスタム)
    htmlBody: html
  }

  ///メール送信
  GmailApp.sendEmail(
   to, 
   subject, 
   body,
   options
   );
}

message.htmlの例

これがメールの本文になる。
htmlの書き方がわからない人も、下記のようなテキスト→html変換の無料オンラインサービスを使って
コピペするだけでOK

message.html
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
      
      <p>いつも大変お世話になっております。<br>

        カスタマーサポートでございます。</p>

      <p>この度はお忙しい中アンケートにご協力いただきまして、<br>

        誠にありがとうございました。</p>

      <p>いただきましたご意見、ご要望を、<br>

        今後のサービスや業務改善に役立てて参ります。</p>

      <p>今後ともご愛顧賜りますよう、よろしくお願い申し上げます。</p>

      <p><br>
      </p>

  </body>
</html>

注意事項

・トリガーの設定はお忘れなく! ・EmailApp.sendEmailの関数だと送信元がうまく設定できないので、注意!GmailAppの方を使う

メールの送信元の注意

fromで指定したメールアドレスに関しては、 基本的に自分のgoogleアカウントにエイリアスの通ったメールアドレスしか設定できないので、 送信元にしたいアカウントで、GASを用意してトリガーの設定をする必要がある。

参考URL:https://rtomura-taxacc.com/gas_specify-sender-address-and-sender-name/

グループメールの場合は、SMTP サーバーの設定は必要なく、アカウント管理者から承認をもらうだけでOK。

★ gsファイルからHTMLファイルに値を渡したい時

下記を追加し、htmlファイルに渡す。

コード.gs
 var template_index = HtmlService.createTemplateFromFile('message');
 template_index.name = companyName;
  html = template_index.evaluate().getContent();

htmlファイルの中では、

message.html
  <?=name?> 様

といった形で使うことができる。

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?