5분 정도 시간이 있으신가요?
간단한 온라인 설문조사에 참여해 주시면 Google Workspace 문서를 개선하는 데 큰 도움이 됩니다.
|
코딩 수준: 초급
기간: 10분
프로젝트 유형: 맞춤 메뉴를 사용한 자동화
목표
- 솔루션의 기능을 이해합니다.
- 솔루션 내에서 Apps Script 서비스가 하는 역할을 이해합니다.
- 스크립트를 설정합니다.
- 스크립트를 실행합니다.
이 솔루션 정보
Google Sheets의 데이터로 이메일 템플릿을 자동으로 채웁니다. 이메일은 Gmail 계정에서 전송되므로 수신자의 답장에 응답할 수 있습니다.
중요: 이 메일 병합 샘플에는 Google 서비스 할당량에 설명된 이메일 한도가 적용됩니다.
작동 방식
Sheets 스프레드시트의 데이터에 해당하는 자리표시자가 포함된 Gmail 초안 템플릿을 만듭니다. 시트의 각 열 헤더는 자리표시자 태그를 나타냅니다. 스크립트는 스프레드시트의 각 자리표시자 정보를 이메일 초안의 해당 자리표시자 태그 위치로 전송합니다.
Apps Script 서비스
이 솔루션은 다음 서비스를 사용합니다.
- Gmail 서비스: 수신자에게 보낼 이메일 초안을 가져오고, 읽고, 보냅니다.
- 이메일에 그림 이모티콘과 같은 유니코드 문자가 포함되어 있으면 메일 서비스를 대신 사용하세요. 이메일에 유니코드 문자를 포함하도록 코드를 업데이트하는 방법을 알아보세요.
- 스프레드시트 서비스: 각 수신자의 맞춤 정보로 이메일 자리표시자를 채웁니다.
동영상을 통해 학습하고 싶으신가요?
Google Workspace 개발자 채널에서는 유용한 정보, 팁, 최신 기능에 관한 동영상을 제공합니다.
|
기본 요건
이 샘플을 사용하려면 다음 기본 요건이 필요합니다.
- Google 계정 (Google Workspace 계정의 경우 관리자 승인이 필요할 수 있음)
- 인터넷에 액세스할 수 있는 웹브라우저
스크립트 설정
Apps Script 프로젝트 만들기
- 다음 버튼을 클릭하여 Gmail/Sheets 메일 병합 샘플 스프레드시트의 사본을 만듭니다.
이 솔루션의 Apps Script 프로젝트는 스프레드시트에 첨부되어 있습니다.
사본 만들기 - 복사한 스프레드시트에서 메일 병합에 사용할 이메일 주소로 수신자 열을 업데이트합니다.
- (선택사항) 열을 추가, 수정 또는 삭제하여 이메일 템플릿에 포함할 데이터를 맞춤설정합니다.
수신자 또는 이메일 발송 열의 이름을 변경하는 경우 Apps Script 프로젝트에서 해당 코드를 업데이트해야 합니다. 확장 프로그램 > Apps Script를 클릭하여 스프레드시트에서 Apps Script 프로젝트를 열 수 있습니다.
이메일 템플릿 만들기
- Gmail 계정에서 이메일 초안을 만듭니다. 이메일에 스프레드시트의 데이터를 포함하려면 중괄호로 묶인 열 이름에 해당하는 자리표시자(예:
{{First name}}
)를 사용합니다.- 이메일의 텍스트 형식을 지정하는 경우 자리표시자 괄호의 형식도 지정해야 합니다.
- 자리표시자는 대소문자를 구분하며 열 헤더와 정확하게 일치해야 합니다.
- 이메일 초안의 제목 줄을 복사합니다.
스크립트 실행
- 스프레드시트에서 메일 병합 > 이메일 보내기를 클릭합니다. 이 맞춤 메뉴가 표시되려면 페이지를 새로고침해야 할 수도 있습니다.
메시지가 표시되면 스크립트를 승인합니다. OAuth 동의 화면에 이 앱은 인증되지 않았습니다라는 경고가 표시되면 고급 > {프로젝트 이름} (안전하지 않음)으로 이동을 선택하여 계속합니다.
메일 병합 > 이메일 보내기를 다시 클릭합니다.
이메일 템플릿 제목 줄을 붙여넣고 확인을 클릭합니다.
시트에 필터를 적용한 경우 스크립트에서 필터링된 참여자에게 이메일을 보내지만 타임스탬프는 추가하지 않습니다.
코드 검토
이 솔루션의 Apps Script 코드를 검토하려면 아래의 소스 코드 보기를 클릭하세요.
소스 코드 보기
Code.gs
수정사항
필요에 따라 메일 병합 자동화를 원하는 만큼 수정할 수 있습니다. 다음은 소스 코드에 적용할 수 있는 몇 가지 선택적 변경사항입니다.
숨은참조, 참조, 답장, 보낸사람 이메일 매개변수 추가
샘플 코드에는 이메일이 전송되는 계정의 이름, 회신 이메일 주소, 숨은참조 및 참조 이메일 주소를 제어할 수 있는 여러 추가 매개변수가 포함되어 있으며 현재 주석 처리되어 있습니다.
각 매개변수 앞에 있는 슬래시 //
를 삭제하여 추가할 매개변수를 활성화합니다.
다음 샘플은 대부분의 이메일 매개변수를 활성화하는 sendEmails
함수의 발췌를 보여줍니다.
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, { htmlBody: msgObj.html, bcc: 'bcc@example.com', cc: 'cc@example.com', from: 'from.alias@example.com', name: 'name of the sender', replyTo: 'reply@example.com', // noReply: true, // if the email should be sent from a generic no-reply email address (not available to gmail.com users)
위 샘플에서는 replyTo
매개변수가 설정되어 있으므로 noReply
매개변수가 주석 처리된 상태로 유지됩니다.
이메일에 유니코드 문자 포함
이메일에 유니코드 문자(예: 그림 이모티콘)를 포함하려면 Gmail 서비스 대신 Mail 서비스를 사용하도록 코드를 업데이트해야 합니다.
샘플 코드에서 다음 줄을 업데이트합니다.
GmailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
이 줄을 다음 코드로 바꿉니다.
MailApp.sendEmail(row[RECIPIENT_COL], msgObj.subject, msgObj.text, {
참여자
이 샘플은 에든버러 미래 연구소의 학습 설계 및 기술 책임자이자 블로거, Google Developer Expert인 Martin Hawksey가 만들었습니다.
- 트위터에서 Martin을 찾아보세요(@mhawksey).
- Martin의 Google Apps Script 관련 블로그 게시물을 읽어보세요.
- 마틴의 YouTube 프로그램인 Totally Unscripted를 시청하세요.
이 샘플은 Google Developer Expert의 도움을 받아 Google에서 유지관리합니다.