昨日投稿したお問い合わせフォームの送信内容をスプレッドシートに追加するの記事の続きで、お問い合わせの送信があった際に自動返信メールが送信されるようにしてみます。
サンプルコード
前回作成したGoogle Apps Scriptのコードにメール送信の処理を追加します。
function doPost(e) {
// POSTした内容を取得
var name = e.parameter.name;
var mail = e.parameter.mail;
var body = e.parameter.body;
// スプレッドシートへの書き込み
var spread = SpreadsheetApp.getActiveSpreadsheet();
var lastRow = spread.getSheets()[0].getLastRow();
spread.getSheets()[0].getRange((lastRow + 1), 1).setValue(name);
spread.getSheets()[0].getRange((lastRow + 1), 2).setValue(mail);
spread.getSheets()[0].getRange((lastRow + 1), 3).setValue(body);
// 自動返信メールの送信
sendAutoReply(mail, {
name: name,
body: body,
});
// returnの設定
var jsonData = {
name: name,
mail: mail,
body: body,
result: 'ok'
}
return ContentService.createTextOutput(JSON.stringify(jsonData))
.setMimeType(ContentService.MimeType.JSON);
}
function sendAutoReply(mail, data) {
var title = 'お問い合わせありがとうございます。';
var body = '以下の内容でお問い合わせが送信されました。\n';
body += 'お名前:' + data.name + '\n';
body += 'お問い合わせ内容:\n';
body += data.body + '\n';
MailApp.sendEmail(mail, title, body);
}
メールの送信はMailApp.sendEmail()で行えます。
コード変更後、デプロイします。
以下のようにリクエストが表示されるので、許可をクリックします。
ウェブアプリURLが変更されるので、お問い合わせフォーム内のウェブアプリURLを変更します。
これでお問い合わせ送信後に自動返信メールが送信されるようになりました。
フォームを送信してみて、入力したメールアドレスにメールが届けばOKです。
自動返信メール送信の注意事項として、送信元のメールアドレスはGoogle Apps Scriptの作成を行っているアカウントになります。
また、無料版のアカウントの場合は1日100件までしかメールを送信できないようなので、送信件数が多そうな場合は何らか対応が必要かもしれません。

コメントが承認されるまで時間がかかります。