前提・実現したいこと
googleフォームを利用しており、スクリプトエディタで自動返信をしています。
発生している問題・エラーメッセージ
問題点
なぜか同じ自動返信メールが2通送信されてしまします。
該当のソースコード
function sendMailFromForm() {
Logger.log('sendMailFromForm() debug start');
//------------------------------------------------------------ // 設定エリアここから //------------------------------------------------------------ // 件名、本文、フッター var subject = "[モーニングスクールお申込受付]"; var body = "お申込ありがとうございます。お申込が確定次第、\n\n" +"担当者からご連絡いたします。\n\n" + "------------------------------------------------------------\n"; var footer = "------------------------------------------------------------\n\n" + "このアドレスは送信専用のため返信は出来ません。\n\n" +"名古屋スポーツセンター 営業部"; // 入力カラム名の指定 var NAME_COL_NAME = '保護者氏名'; var MAIL_COL_NAME = 'メールアドレス'; var SUBJ_COL_NAME = '曜日の選択'; // メール送信先 var admin = "nscosuskate01@gmail.com"; // 管理者(必須) var cc = ""; // Cc: var bcc = admin; // Bcc: var reply = admin; // Reply-To: var to = ""; // To: (入力者のアドレスが自動で入ります) //------------------------------------------------------------ // 設定エリアここまで //------------------------------------------------------------ try{ // スプレッドシートの操作 var sh = SpreadsheetApp.getActiveSheet(); var rows = sh.getLastRow(); var cols = sh.getLastColumn(); var rg = sh.getDataRange(); Logger.log("rows="+rows+" cols="+cols); // メール件名・本文作成と送信先メールアドレス取得 for (var j = 1; j <= cols; j++ ) { var col_name = rg.getCell(1, j).getValue(); // カラム名 var col_value = rg.getCell(rows, j).getValue(); // 入力値 body += "【"+col_name+"】\n"; body += col_value + "\n\n"; if ( col_name === NAME_COL_NAME ) { body = col_value+" 様\n\n"+body; } if ( col_name === MAIL_COL_NAME ) { to = col_value; } } body += footer; // 送信先オプション var options = {}; if ( cc ) options.cc = cc; if ( bcc ) options.bcc = bcc; if ( reply ) options.replyTo = reply; // メール送信 if ( to ) { MailApp.sendEmail(to, subject, body, options); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); } }catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); }
}
◆◆◆◆現在のプロジェクトのトリガー◆◆◆◆
スプレッドシートからフォーム送信時
試したこと
トリガーは1つしか設定していません
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー