前提・実現したいこと
Googleフォームでチェックボックスで選んだ選択肢により
自動返信の宛先が変更されるようにしたい。
発生している問題・エラーメッセージ
チェックボックスの選択肢を複数選んだ時、宛先が複数にならずToが空になってしまう。
例)質問Aの回答
BBB,CCCにチェックを入れた場合、送信先Toはbbb@xxx.co.jp,ccc@xxx.co.jp
BBBのみにチェックを入れた場合、送信先Toはbbb@xxx.co.jp
該当のソースコード
function onFormSubmit(e){ try{ var admin = "aaa@xxx.co.jp"; var to = ""; var cc = ""; var bcc = admin; var subject = ''; var itemResponses = e.response.getItemResponses(); var body = ''; //宛先メールアドレス用の変数を用意 var mail1 = "bbb@xxx.co.jp"; var mail2 = "ccc@xxx.co.jp"; var mail3 = "ddd@xxx.co.jp"; for (var i = 0; i < itemResponses.length; i++) { var itemResponse = itemResponses[i]; var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); // 自動返信メール本文へ回答内容記載 if (question == "◆質問A"){ body += question + '\n' + answer + '\n\n'; } // 送信先出し分け if (question == "◆質問A") { for (var j = 0; j < itemResponses.length; j++) { var itemResponse = itemResponses[j]; var answer = itemResponse.getResponse(); if (answer == "BBB") { to += mail1 + ","; } else if (answer == "CCC") { to += mail2 + ","; } else if (answer == "DDD") { to += mail3 + ","; } } } var content = body; //メールを送信 MailApp.sendEmail( to, subject, content, {cc: cc, bcc: bcc, from: 'aaa@xxx.co.jp', name: 'hogehoge' }); } catch (e) { //エラーが発生した場合に管理者にメールを送信する MailApp.sendEmail(admin, "Error report", e.message); } }
試したこと
for文を質問Aの前に入れたが同じ結果でした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/05 10:40