GAS:GoogleAppsScript / GoogleAppSheet

GASを使ってGoogleフォームの自動返信メールをカスタマイズしてみました

この記事は約7分で読めます。

GASGoogleフォームは便利ですが、自動返信の送信元が独自ドメインではなくGmailになってしまうのがいやであまり利用していませんでした。
しかし、GAS(GoogleAppsScript)を使えば送信元を変更できることがわかりました。さらに、自動返信の内容も自由にカスタマイズすることもできます。このことはUdemyのGASについての学習ビデオで知りました。
GASを使うことでかなり便利になりそうです。ためたデータはスプレッドシートで編集し加工して使うことでプログラム的な活用も可能です。
そこで、GASでどの程度のことができるのかを試してみました。

GAS(GoogleAppsScript)

送信元を独自ドメインメールに変更できました

Googleフォームから入力
https://docs.google.com/forms/d/e/1FAIpQLScD16hd8f8LN1frulm1Bhb2fFanYZW-KXG9zhv1Qfgs0M4CRw/viewform

このフォーム送信後に自動返信されたメールは以下のとおりです。

送信元のメールアドレスが独自ドメインになっています。
また、自動返信されるメールのタイトルや内容もカスタマイズできました。

備忘録として設定内容を紹介しておきます。

Googleフォームからスプレッドシートを開く

Googleフォームのページからスプレッドシートを開きます。

スプレッドシートを開いたら、上部のほうにある「拡張機能」から「AppsSciript」を選びます。

ここで間違えやすいのが「AppSheet」と「AppsSciript」の違いです。
どちらも「GAS」と呼ばれていたりしますし、よく似た名前なので混乱しそうですがまったく別ものです。

「AppSheet」を選ぶとノーコードでの設定ができますが、現在は「AppSheet」は日本語化されていないので、設定がかえって難しいです。

ということで、ここでは「AppsSciript」を選びます。

以下、このページでは「GAS」とは「AppsSciript」のことを指します。

GASの初期画面

「AppsSciript」を選びと開くのがGASの初期画面です。ここでスクリプトを書いたり編集したりします。なのでこの画面は「エディタ」になっています。

最初の内容は

function myFunction() {

}

となっています。

この中身をカスタマイズしていきます。

最終的なGASの内容

GASの最終的なスクリプト内容は以下のとおりになりました。

function autoReply(e) {
var [timeStamp,email,name,toiawase,naiyo ] = e.values;
var title = `${name}さま、株式会社ドモドモコーポレーションに問い合わせありがとうございます`;
var body = `
株式会社ドモドモコーポレーションにお問い合わせありがとうございます。

お問い合わせ内容は以下のとおりです。
名前:${name}さま
メールアドレス:${email}
問い合わせ種別:${toiawase}
問い合わせ内容:${naiyo}
問い合わせ時刻:${timeStamp}

株式会社ドモドモコーポレーション
〒929-1171 石川県かほく市木津ロ64番地1
電話:076-285-8058(普段はFAXになっています)
スマホのIP電話:050-3578-5060(留守録可能)
スマホの電話番号:070-5638-1416(留守録不可、SMS受信可)
遠田 幹雄(トオダ ミキオ)中小企業診断士#301227
メール tohda@dm2.co.jp ホームページ https://dm2.co.jp/9/
※携帯(スマホ)はIP電話「050-3578-5060」がメインです。
電話に出れないことが多いので用件は留守番電話に録音願います。
`;
GmailApp.sendEmail(email,title,body,{from:”tohda@dm2.co.jp”});
}

詳細は省略しますが、送信元のメールアドレスを独自ドメインに変更した内容を記述してあるのは最後の一行です。

つまり、この一行

GmailApp.sendEmail(email,title,body,{from:”tohda@dm2.co.jp”});

のことです。

本来は

GmailApp.sendEmail(email,title,body);

という内容でしたが、マニュアルを見るとbodyの後ろにオプションを付加することができます。そのオプションを別途に定義することもできますが、今回はfromだけなので直接記述したというわけです。

自分宛てにもメールを送りたい場合は

GmailApp.sendEmail(email,title,body,{from:”tohda@dm2.co.jp”,bcc:”tohda@dm2.co.jp”});

というように、
bcc:”tohda@dm2.co.jp”を追加するとよいです。
※実際に試したところこれでBCCできました

事前にGmailには独自ドメインで送信できるようにしておくこと

なお、このように独自ドメインメールを送信元にするには条件があります。

Gmailそれは、事前にGmailにて独自ドメインから送信できるように設定を済ませておくということです。

例えば、

さくらインターネットなら


にて設定できます。

コアサーバーなら


にて設定できます。

他のレンタルサーバーで利用している独自ドメインメールでも同様の設定で送信元を変更できます。この処理は必須ですので、事前に設定しておきましょう。

トリガーの設定も必要です

Googleフォームから送信された時にメールを送信するためには「トリガー」という設定も必要です。

GASの画面の左側のメニューに「トリガー」があります。

トリガーを設定します。

注意点は
・イベントのソースを選択→スプレッドシートから
・イベントの種類を選択→フォーム送信時
を選択することです。

私は「イベントのソースを選択」のところが「フォームから」だったために、GASでの設定がうまくできませんでした。ここは要注意です。

※Googleフォームからスプレッドシートを開き、その画面の拡張機能からGASの設定をする、という手順でないとこのトリガーで「スプレッドシートから」という選択肢が表示されませんでした。

このアプリは確認されていませんという警告表示がされますが設定します

トリガーの設定を保存すると、「このアプリは確認されていません」という表示がされます。

なんだか、こわいメッセージですね。

ここも関所ですね。

ここで「安全なページに戻る」をクリックすると前に進めません。

「詳細」のほうをクリックし、さらに「安全でないページ」に進んで、このアプリをGmailに連携することを許可するまでいかないと、Gmailでメールを送信できません。
ここは要注意です。

試行錯誤をたくさんしました(笑)

今回のGAS設定は、UdemyのGAS関連の講座WEBラーニングをみながら設定しました。

Udemyではスムーズに進んでいますが、いざ自分がやるとなかなかうまくいきません。すぐに挫折しそうになります(笑)

試行錯誤の状況をツイートするとやさしくコメントしてくれる人がいました。

また、GoogleでググりながらWEBからヒントをもらい少しづつ謎解きをしていった感じです。

新しいことには障害がつきものですので、めげずに進めていきたいと思います。