GASで複数の宛先にメール送信するコード例(コピペで動く)
複数の相手にメール送信する方法を知りたい!
こんな人にこの記事はピッタリです。
GASで複数の相手にメールを送りたい場合ありますよね。
この記事では、複数の相手にメールを送れるようにしたコード例を紹介していきます。
コピペで使えるコードにしていますので、そのまま使うことができるはずです!
私も実際にテストして、使えたものですので安心して使っていただければと思います。
コード例
実際に使えるコードを載せます。
使い方手順
①コードをGASにコピペ
②以下ファイル例に沿って、スプシに書き込む。
③実行。メールが送信されます。
const email_column = 3;
const pw_column = 4;
const first_row = 2;
const mail_title_address = [3,2];//タイトル
const mail_body_address_1 = [4,2];//本文1
const mail_body_address_2 = [5,2];//本文2
const mailfrom_address = [1,2];
var data_sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("データ");
var mail_sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("メール");
function mailing() {
for (let row = first_row; row <= data_sheet.getRange(1, 4).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow(); row++) {
let email = data_sheet.getRange(row, email_column).getValue();
//メール送信
if(data_sheet.getRange(row,1).getValue()==false&&data_sheet.getRange(row,2).getValue()==false){
let pw = data_sheet.getRange(row,pw_column).getValue();
let userid = email;
let title = mail_sheet.getRange(...mail_title_address).getValue()
let strBody = mail_sheet.getRange(...mail_body_address_1).getValue()+"\n"+pw+"\n\n"
console.log(email)
console.log(title)
console.log(strBody)
writeLog(email + ": 送信開始")
try{
sendEmail(email,title,strBody);
data_sheet.getRange(row,2).setValue(true);
writeLog(email + ": 送信完了")
}catch(e){
writeLog(e);
writeLog(email + ": 送信失敗")
}
}else{
writeLog(email + ": 実行済フラグでスキップ")
}
}
}
/* シートの全ての行について姓名を差し込みログに表示*/
function sendEmail(email,title,strBody){
var strmailaddress=email;//mail
let strSubject = "";
strSubject =title; //メールタイトル
/* メール表題、fromアドレス、差出人名を準備 */
var strFrom=mail_sheet.getRange(...mailfrom_address).getValue(); //To
//var bcc1 = sheet.getRange(...mailfrom_address).getValue();
var strSender=email; //差出人
//var report = DriveApp.getFileById("0B8JD3DtPwZbvQkVOQlR6anVKeUk"); //file単体になっている点に注意
/* メールを送信 */
let response = MailApp.sendEmail(
strFrom, //Toアドレス
strSubject, //メールタイトル
strBody,//本文
{
name: "情報システム部",//差出人
bcc: strmailaddress
//cc: cc1,
//attachments: [report] //添付をファイル
}
);
}
function writeLog(message) {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ログ");
let date = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd HH:mm:ss");
let row = sheet.getLastRow() + 1;
sheet.getRange(row, 1).setValue(date);
sheet.getRange(row, 2).setValue(message);
}
併せて読む記事
(Visited 35 times, 1 visits today)