GASでグループ分けしてBCCでメール送信する
Q&A
解決したいこと
GASで自動メール送信をしたいのです。
状況としては、グループ分けをしてAグループだけにBCCで送りたい。
| 社員区分 | 氏名 | メール|
| ---- | ---- |---- |
| A | 太郎 |aaa@example.com
| A | 二郎 |bbb@example.com
| B | 一郎 |ccc@example.com
| A | 花子 |ddd@example.com
| C | すみ子 |eee@example.com
| B | 金次郎 |fff@example.com
発生している問題・エラー
エラーはなし。
該当するソースコード
function sendMail(){
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const DOC_URL = 'https://docs.google.com/document/d/*****/edit'; //*****ドキュメントのURL*****
const doc = DocumentApp.openByUrl(DOC_URL);
const docText = doc.getBody().getText();
const subject = 'タイトル';//タイトル
const options = {name: '差出人'};//差出人のなまえ
for(let i = 2; i <= lastRow; i++){
const position = sheet.getRange(i, 1).getValue();//グループ
const Name = sheet.getRange(i, 2).getValue(); //名
const email = sheet.getRange(i, 3).getValue();//メールアドレス
const body = docText
.replace('{グループ名}',position)
.replace('{氏名}',Name)
if(sheet.getRange(i,3).getValue()== ""){
continue;
};
GmailApp.sendEmail(recipient, subject, body, options);
};
}
自分で試したこと
シートにメールアドレスが記載されていれば問題なく送信されます。
(1)グループわけしたい。Aグループに送るメールとBグループ、Cグループに送るメールは異なります。
グループ名で場合分けして、Aなら送信。それ以外は送らない。
(2)このコードだと、1つづつメールを繰り返し送ることになります。いまなら6回ですが、数が多くなると大変かな。、bccにいれて一度に送った方がいいのでは。recipientは自分、bccとして他のものに送りたい。