Google Formで特定の回答がある場合に、管理者に速報メールを送るシステムを作ろうとしています。
管理者が複数いるので、配列で宛先を指定しているのですが、
保存時にエラーは出なかったのですが、実行すると下記のエラー通知が送られ、うまくいきません。
発生している問題・エラーメッセージ
パラメータ(number[],String,String)が MailApp.sendEmail のメソッドのシグネチャと一致しません。
該当のソースコード
1 try{ 2 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 3 var num_row = sheet.getLastRow(); //最終行番号を取得 4 var lastRow = sheet.getRange(num_row, 1,1,10).getValues(); //最終行の配列を取得 5 var tm = lastRow[0][0];//タイムスタンプ 6 var eml = lastRow[0][1];//メールアドレス 7 var iname = lastRow[0][2];//氏名 8 var dpt = lastRow[0][3];//所属 9 var crtloc = lastRow[0][4];//現在地 10 var qsttw = lastRow[0][5];//質問2 11 var bdyInfo = '氏名:'+iname+'\nメールアドレス:'+eml; 12 13 //速報メール宛先 14 var mlto = ["hoge1@mail.com", "hoge2@mail.com"]; 15 //質問2に回答3があった場合 16 if (qsttw=='回答3'){ 17 var mlto = ['hoge1@mail.com', 'hoge2@mail.com']; 18 var bdyTopQT = '関係各位\n\n質問2に回答3がありました。\n\n'; 19 var bdyQT = '質問2'+qsttw; 20 MailApp.sendEmail(mlto, iname + ':'+ qsttw, bdyTopClssQT + bdyInfo + bdyQT); 21 var mldate = new Date() 22 sheet.getRange(num_row, 11).setValue(mldate);//「速報メール」列にメール送信日時を入力 23 } 24 else{ 25 if (){ 26 //他の条件でも質問と回答に応じて同様の速報メールが送信されるようにしています。 27 } 28 else{ 29 sheet.getRange(num_row, 11).setValue("不要");//特にメールは送らず「速報メール」列に「不要」を入力 30 } 31 } 32 33//実行に失敗した時に管理者に通知 34 catch(exp){ 35 MailApp.sendEmail("hoge1@mail.com", exp.message, exp.message); 36 }
前提・実現したいこと
条件に応じて、速報メールが管理者全員に届くようにしたいです。
試したこと
送り先アドレスを1つにして、sendEmail()内に直接書くと、うまくいきました。
しかし、管理者全員に送られるようにしたいので、送り先配列をIf文{}の中に入れたりしましたが、同じエラーメッセージが来ました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/07 13:31
2020/03/09 14:49
2020/03/10 00:46