개발 공부/기타
[Google Sheets + Apps Script] 이메일 자동 발송 시스템 만들기 실전 가이드
악마의 개발자
2025. 4. 22. 11:30
반응형
안녕하세요! 😊
지난 글에서는 MailerLite와 Google Sheets를 연동해서
구독자 명단을 자동으로 수집하는 방법을 알아봤어요.
이번엔 한 단계 더 나아가
구글 시트에 입력된 명단으로 자동으로 이메일을 발송하는 시스템을 직접 만들어볼게요!
개발자가 아니어도 OK!
Google Apps Script(GAS)를 활용하면
✔ 직접 메일 내용 작성
✔ 구독자 정보 기반 퍼스널라이징
✔ 자동 반복 발송도 가능해요!
✅ 오늘의 핵심 목표
✔ Google Sheets + Apps Script 연동 방법
✔ 구독자 명단 기반 자동 메일 발송
✔ 템플릿 활용한 퍼스널라이징 구현
1️⃣ 사전 준비
항목 | 준비 내용 |
Google 계정 | Gmail 필수 |
구독자 명단 시트 | Email / Name / 상태 열 포함 |
Google Apps Script | 구글 스프레드시트 내장 스크립트 기능 |
2️⃣ 구독자 시트 구조 예시
| Email | Name | Status |
|---------------------|--------|----------|
| test1@example.com | 철수 | 대기 |
| test2@example.com | 영희 | 대기 |
✅ 메일 발송 완료 시 → 상태를 ‘완료’로 업데이트
3️⃣ Apps Script 코드 입력하기
- 스프레드시트 열기
- 상단 메뉴에서 확장 프로그램 > Apps Script 클릭
- 아래 코드 입력 & 저장
function sendEmails() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시트1"); // 시트 이름
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const email = data[i][0];
const name = data[i][1];
const status = data[i][2];
if (status !== "완료") {
const subject = `${name}님, 뉴스레터를 보내드립니다!`;
const body = `
안녕하세요 ${name}님,
이번 주에도 유용한 정보를 전달드립니다 😊
👉 최신 뉴스 확인하기: https://example.com
감사합니다!
`;
GmailApp.sendEmail(email, subject, body);
sheet.getRange(i + 1, 3).setValue("완료"); // 상태 업데이트
}
}
}
4️⃣ 메일 테스트 & 실행 방법
- 상단 ▶️ 실행 버튼 클릭 → 테스트 메일 발송됨
- 에러 시 → [권한 승인] 창이 뜨면 ‘허용’ 클릭
💡 이메일이 정상적으로 발송되었는지 스프레드시트에서 '상태' 확인!
5️⃣ 자동 반복 설정 (시간 트리거)
- Apps Script 상단 시계 아이콘 🕒 클릭
- [트리거 추가] → sendEmails 함수 선택
- 시간 기반 트리거 설정
→ 예: 매일 오전 9시 자동 발송
✅ 이젠 매일 자동으로 이메일이 발송됩니다! 🎉
✅ 확장 아이디어
기능 | 구현 방법 |
HTML 이메일 | MailApp.sendEmail({htmlBody: ''}) 사용 |
맞춤 링크 | ${name} 전용 링크 삽입 |
첨부파일 발송 | .addFile(DriveApp.getFileById(ID)) |
📌 마무리 & 다음 단계는?
오늘은 Google Sheets와 Apps Script를 활용해서
✅ 이메일 자동 발송 시스템을 구축해봤어요!
이제 직접 명단을 넣고, 클릭 한 번으로 퍼스널 메일을 보낼 수 있어요.
📢 다음 글에서는?
👉 HTML 이메일 템플릿 디자인 적용하기
👉 자동화된 응답 수집 & 통계 시트 만들기
다음 글도 기대해주세요! 😊
반응형