Google Apps Scriptでメールを送信する

昨日投稿したお問い合わせフォームの送信内容をスプレッドシートに追加するの記事の続きで、お問い合わせの送信があった際に自動返信メールが送信されるようにしてみます。

サンプルコード

前回作成した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件までしかメールを送信できないようなので、送信件数が多そうな場合は何らか対応が必要かもしれません。

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


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

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930