[GAS] メールフォームでお問合せフォーム(自動返信メール付き)
Google Form でお問合せフォームを作り、以下のような機能を追加したい。
・お問合せフォームで問い合わせがあったことを自分に知らせる。
・問い合わせ内容がメールで届く。
・問い合わせた人に自動返信メールが届く。
最初は以下のページを参考にやろうとした。
【GAS】自動返信機能付きGoogleフォームの作り方 – Valmore
https://valmore.work/auto-response-from-google-form/
初心者でもできる!Googleフォームで作成したお問い合わせフォームにGASで自動返信機能を追加する
https://tonari-it.com/gas-form-autoreply/
しかし、TypeError: Cannot read property 〜 of undefined のようなエラーが出たと Google Apps Script からメールが届き、うまく動作しない。
しかし、以下のサイトに従えばうまくいった。
Google フォームでお問い合わせフォームを作り、自動返信メールを送る | nansystem
https://nansystem.com/create-a-contact-form-with-google-form-and-auto-reply/
問い合わせがあったことをメールで通知するには該当の Google Form で、Responses>3点アイコン>Get email notifications for new responses にチェックを入れればいい。
これで一応思い通りにできたんだけど、問い合わせた人に送るメールの差出人メールアドレスが、デフォルトの Gmail のメールアドレスとなる。これを変更できないものか。
それに関しては以下のページが参考になった。
Google Apps Scriptから送信するメールのFromアドレスを変更する方法 | TeraDas
https://www.teradas.net/archives/14770/
[Google Apps Script]別のアドレスからメールを送信する。 | 初心者備忘録
https://www.ka-net.org/blog/?p=4441
すなわち、GAS のスクリプトで以下のように修正すればいい。
修正前:GmailApp.sendEmail(email, subject, body);
修正後:GmailApp.sendEmail(email, subject, body, {from:'[好きなメールアドレス]'});
ただし、指定できるメールアドレスは Gmail で From アドレスとして登録してあるメールアドレスのみである。
問い合わせた人に送られたメールは、Gmail の送信済みフォルダに入る。だから、問い合わせがあったと Google Form からメール通知が来たら、わざわざ Google Spreadsheet を見なくても、Gmail の送信済みフォルダを見に行けばいい。