GASを使用してスプレッドシートに記載されているEメールアドレスに一斉送信する
1. やりたいこと、解決したいこと
グーグルドキュメントで用意した文章を、問題なくGASを使用して一斉送信する。
2. 実行したこと、コマンドエラー
function sendMail(){ const sheet = SpreadsheetApp.getActiveSheet(); const lastRow = 100; sheet.getLastRow(); const values = sheet.getRange(1, 1, lastRow, 4).getValues(); const doc = DocumentApp.openById('ドキュメントID'); const docText = doc.getBody().getText(); const subject = '新しい人材の紹介です'; //メールの件名 const senderName = {name: '山田太郎'}; //差出人名 for(let i = 1; i < lastRow; i++){ const company = values[i][0]; //会社名 const lastName = values[i][1]; //姓 const firstName = values[i][2]; //名 const mailAddress = values[i][3]; //アドレス const body = docText .replace('{会社名}',company) .replace('{姓}',lastName) .replace('{名}',firstName); GmailApp.sendEmail(mailAddress, subject, body, senderName); } }
23:57:07 お知らせ 実行開始 23:57:09 エラー Exception: Failed to send email: no recipient sendMail @ コード.gs:19
@ コード.gs:19 とは、こちらのことです。
GmailApp.sendEmail(mailAddress, subject, body, senderName);
3. 事象
Eメールは無事にドキュメントに記載のある宛先全てに送信することができました。
会社名、名、ともにドキュメントで用意された文の入力に成功しました。
しかし、性のみ正しく表示されません。
{姓}の状態のまま表示されます。
ドキュメント、コードともに確認しましたが、全角にはなっていません。
4. 最後に
どなたか原因と解決策をご教示いただけないでしょうか。
よろしくお願いいたします。
問題は replace('{姓}',lastName) が効かないということですか?
Exception: Failed to send email: no recipient のエラーは解消されたということですか?
早速のご連絡ありがとうございます。
問題は replace('{姓}',lastName) が効かないということです。
また、Exception: Failed to send email: no recipient のエラーも解消されておりません。
replace('{姓}',lastName) が効かない原因は、Exception: Failed to send email: no recipient のエラーなのではと考えておりますが、replace('{姓}',lastName) と、全く関係ないのでしょうか?
回答1件
あなたの回答
tips
プレビュー