본문 바로가기
컴퓨터

[gsheet] gmail 자동화 (개인별 메일 한 번에 보내기)

by skyjwoo 2023. 8. 27.
728x90
반응형

오늘은 gsheet를 활용하여 다수의 사람에게 개인화된 메일을 한 번에 보내는 방법에 대해 알아보고자 한다.

 

 

 

 

배경

앞서 설명한 바와 같이 gsheet를 활용해서

 

목적: 기존 gsheet 기반 메일 머지(Mail Merge) 개선

 

기존 gsheet 기반 메일 머지 예시
https://velog.io/@twinklesu914/Gmail%EC%97%90%EC%84%9C-%EA%B0%9C%EB%B3%84%ED%99%94%EB%90%9C-%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1%ED%95%98%EA%B8%B0

 

Gmail에서 개별화된 메일 발송하기

단체 메일 개꿀팁 공개합니다🍯🍯

velog.io

 

기존 gsheet 기반 메일 머지의 단점

위 블로그에서 다운 받을 수 있는 기존 gsheet 메일 머지의 단점은 아래와 같다.

 

1. cc, bcc 불가

2. 메일머지 설정의 귀찮음(google docs로)
3. 보낼 메일 미리보기 불가(템플릿에 잘 적용되었는지)
4. 파일 첨부(google url로) 불가
5. 로그 남기기 불가

위 내용을 개선하고자 새로  gsheet 메일 머지를 만들었으며, 아래 사항들을 고려하였다.

 

1. 작성 폼 미리보기 및 전송하기(main) - ui 구성(버튼 설정)
2. 다른 사용자가 쉽게 custom할 수 있어야 함.

3. sheet 내 특정 행만 선택하여 메일 발송 가능

 

동작 방식

제작 시 고려한 동작 방식 및 과정은 아래와 같다. 

 

동작 방식 전체 구성

 

세부적인 사항들은 아래와 같다.

 

1. 메일 포맷 가져오기(google doc의 html 정보 읽어오기)

메일 포맷용 gdoc 예시

 

위 예시에서 나온 바와 같이 '{{slot}}' 형식으로 2개의 중괄호로 둘러 쌓인 slot들(team, opponent, score, result, all_url)은 sheet에 입력된 값으로 치환되어 최종 메일로 전송된다.

 

 


2. gmail 전송 함수 활용하기(cc, bcc 설정, 수신자 설정, 내용 넣기, apps script)

 

gsheet 내 apps script

 

gsheet의 '확장 프로그램 > apps script' 에서 확인 가능하다.

apps script를 활용하여 google 플랫폼 내 다양한 문서들(google docs, sheet, gmail 등) 을 연결시키는 작업을 javascript와 유사한 문법으로 작성할 수 있다.

 


3. 수신자별 custom 메일 작성하기(regex로 변환, formatting)

 

gsheet를 사용해 각 전송 대상들에게 custom 메일을 작성할 수 있다.

 

수신자(recipient)별 custom 정보를 기록하는 gsheet

 

 

4. 작성 폼 미리보기 및 전송하기(main) - ui 구성(버튼 설정)

작성 폼 미리보기

 

5. log 남기기

 

 

완성 파일 링크

 

'파일 > 사본 만들기' 로 개인 드라이브에 사본 생성 하셔서 사용하시면 되겠습니다.

 

1. 원본 시트

https://docs.google.com/spreadsheets/d/1bpmZ6gZX025J46UBPGwSM1bnSl0GAHoIZ1lQnc9wN10/edit?usp=sharing 

 

gmail 자동화(w/ gdoc)의 사본

시트1 cc,bcc,docUrl,loggingSheetUrl,loggingSheetName skyjw1211@naver.com,<a href="https://docs.google.com/document/d/1lxGT5uknF7JTyv2t1_oUyt9AddLXvjWZsLnDPZ03244/edit?usp=sharing">https://docs.google.com/document/d/1lxGT5uknF7JTyv2t1_oUyt9AddLXvjWZsLnDPZ

docs.google.com

 

2. log 시트

https://docs.google.com/spreadsheets/d/14x0NtK5kFX_d6h0SKqcFVs94Ok0jrk5X7EgMIijgztk/edit#gid=0

 

gmail logs

메일 트래킹 recipient,title,doc_sample_url,date,메일 자동화 링크 : ,<a href="https://docs.google.com/spreadsheets/d/1bpmZ6gZX025J46UBPGwSM1bnSl0GAHoIZ1lQnc9wN10/edit#gid=0">https://docs.google.com/spreadsheets/d/1bpmZ6gZX025J46UBPGwSM1bnSl0GAHo

docs.google.com

 

template

https://docs.google.com/document/d/1lxGT5uknF7JTyv2t1_oUyt9AddLXvjWZsLnDPZ03244/edit

 

사용법

1. 시트 다운 받기

'파일 > 사본 만들기' 로 개인 드라이브에 사본 생성 하셔서 사용하시면 되겠습니다.


2. 시트 설명

전체 시트에 대한 설명은 readme 시트에 적어 놓았습니다. 

readme 시트

2-1. 공용 정보(모든 메일에 공통적으로 적용되는 정보)

맨 위쪽의 2행은 cc, bcc, 템플릿 정보(템플릿으로 활용할 google doc url), logging할 gsheet url이 들어가는 칸


2-2. 수신자별 정보(수신자별 메일에 개별적으로 적용되는 정보)
나머지 아래 칸은 보낼 사람(recipient), 제목, 개별 입력될 내용을 입력하는 칸

 

3. 메일 템플릿 세팅

공용 정보와, 수신자별 정보를 기록한 후,

메일을 보낼 행들을 check 열에서 체크합니다.

우측의 'view sample' 버튼을 클릭하여 slot이 잘 채워졌는지 확인 후 send 버튼을 클릭하여 메일을 발송합니다.

보낼 메일 check > 샘플 확인(view sample) > 메일 보내기(send)

 

발송 후 check 표시 해제, sent 열에 보낸 시각이 입력되었는지 확인합니다.

 

check 표시 해제, sent 정보 기록된 것 확인

 


5. log 확인
공용정보의 'loggingSheetUrl'에 입력한 log sheet에 log가 잘 입력되었는지 확인합니다.

 

궁금하신 사항이나 개선이 필요한 사항, 오류 등은 댓글을 통해 말씀해주세요 :)

 

728x90
반응형

댓글