Skip to content

Instantly share code, notes, and snippets.

@chunja07
Last active July 12, 2022 14:54
Show Gist options
  • Save chunja07/31ecd6f36789b30cf82fa2631acae020 to your computer and use it in GitHub Desktop.
Save chunja07/31ecd6f36789b30cf82fa2631acae020 to your computer and use it in GitHub Desktop.
function gatherAddress(sheet2) {
//주소 모음(매개변수는 Send 메소드의 "testinfo" 시트 이름을 받는다
var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet2);
//시트 이름을 받아서 스프레드 시트 활성화
var lr1 = ss1.getLastRow();
//활성화된 데이터의 가장 끝 자리 열을 찾아내어 순서를 정한다
var address = [];
//주소값을 리스트로 밑에서 반복문으로 받는다
for (var i=2; i<=lr1; i++){
var currentMail = ss1.getRange(i,3).getValue();
address.push(currentMail.toString());
}
//반복문을 통해 이메일 값 리스트로 변수 저장
return address;
//주소값 리스트로 반환
}
function gatherTitle(sheet1) {
//회사 이름 모음
var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet1);
var lr2 = ss2.getLastRow();
var title = [];
for (var i=2; i<=lr2; i++){
var currentTitle = ss2.getRange(i,1).getValue();
title.push(currentTitle.toString());
}
return title;
}
function send(sheet){
//이메일 전송 부분
sheet = "testinfo";
//시트 이름
var pdfFile = DriveApp.getFileById("1xMaj26j2ZKh3jZvdkUtH6HAWRGZxzyyZ");
//구글 드라이브 PDF 파일 주소
var tempText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("testText").getRange(1,1).getValue();
//메일 내용 값 변수 저장
var addressUse = gatherAddress(sheet);
//매개 변수 통해 gaterAddress 리턴값 반환 및 변수 저장
var tempAdd = gatherAddress(sheet);
//매개 변수 통해 gaterAddress 리턴값 반환(반복문에서 일시적으로 사용) 및 변수 저장
var titleUse = gatherTitle(sheet);
//매개 변수 통해 회사 이름 리턴값 반환 및 변수 저장
for (var i=0;i<titleUse.length;i++){
var text = tempText.replace("{title}",titleUse[i]).toString();
//메일 내용인 {title}을 회사 이름으로 변경
if(tempAdd[i]==""){
//메일 주소 없을 경우 다시 반복문으로 돌아옴
} else {
MailApp.sendEmail(addressUse[i],"고객을 위해 최선을 다하겠습니다",text, {
attachments: [pdfFile.getAs(MimeType.PDF)]
});
//PDF 파일 첨부 저장
}
}
}
function gatherAddress(sheet2) {
var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet2);
var lr1 = ss1.getLastRow();
var address = [];
for (var i=2; i<=lr1; i++){
var currentMail = ss1.getRange(i,3).getValue();
address.push(currentMail.toString());
}
return address;
}
function gatherTitle(sheet1) {
var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet1);
var lr2 = ss2.getLastRow();
var title = [];
for (var i=2; i<=lr2; i++){
var currentTitle = ss2.getRange(i,1).getValue();
title.push(currentTitle.toString());
}
return title;
}
function send(sheet){
sheet = "testinfo";
//var pdfFolder = DriveApp.getFolderById("1htUK57aNPH4Sda9Fn_4DrtpgTYzrGcQR");
var pdfFile = DriveApp.getFileById("1xMaj26j2ZKh3jZvdkUtH6HAWRGZxzyyZ");
var tempText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("testText").getRange(1,1).getValue();
var addressUse = gatherAddress(sheet);
var tempAdd = gatherAddress(sheet);
var titleUse = gatherTitle(sheet);
for (var i=0;i<titleUse.length;i++){
var text = tempText.replace("{title}",titleUse[i]).toString();
if(tempAdd[i]==""){
} else {
MailApp.sendEmail(addressUse[i],"고객을 위해 최선을 다하겠습니다",text, {
attachments: [pdfFile.getAs(MimeType.PDF)]
});
}
}
}
@chunja07
Copy link
Author

Bulk email sending automation with apps script.

These codes are automation between gmail and google spreadsheet using apps script which is based on javascript.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment