前提・実現したいこと
Google App Scriptを利用して複数宛先へのGmailの一括送信を実現したいと思っています。
送信先のメールアドレスや宛先名はスプレッドシート、メールの本文はGoogleドキュメントから取得しようとしています。
発生している問題・エラーメッセージ
実行すると以下のエラーメッセージが出てしまいます。ただし、送信先のメールアドレスを確認するとメールは届いています。
何が原因で以下のエラーメッセージが出ているのでしょうか?
Exception: メールを送信できませんでした: 受信者が指定されていません(行 28、ファイル「コード」)
※「GmailApp.sendEmail(mailAddress, subject, body, options);」の箇所が28行目にあたります。
以前以下で同様の質問をさせていただき、解消していたのですが、別の人用にスプレッドシートをコピーしたところコピー先で実行すると再度表示されるようになりました。
送信先のメールアドレスは入力されています。
https://teratail.com/questions/293346
function sendMail(){ const confirm = Browser.msgBox("メール一斉送信","社名・メールアドレスの組み合わせに誤りはありませんか?本当に送信してもよろしいですか?", Browser.Buttons.OK_CANCEL)// キャンセルが押されたら、操作を中止する if (confirm == "cancel") { Browser.msgBox("一斉送信をキャンセルしました") return false;// ここで処理を終わらせる } const sheet = SpreadsheetApp.getActiveSheet(); const lastRow = sheet.getLastRow(); const values = sheet.getRange(1, 1, lastRow, 7).getValues(); const doc = DocumentApp.openById('xxxxxxxxxxxxxxxx'); const docText = doc.getBody().getText(); for(let i = 1; i < lastRow; i++){ const subject = values[i][0]; //メールの件名 const company = values[i][1]; //会社名 const lastName = values[i][2]; //姓 const mailAddress = values[i][3]; //アドレス const options = { 'cc': values[i][4], 'name': values[i][5] } const body = docText .replace('{会社名}',company) .replace('{姓}',lastName) GmailApp.sendEmail(mailAddress, subject, body, options); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。