본문 바로가기

구글 오피스/스프레드시트

구글 시트 html 메일 발송 매크로(앱스 스크립트)

728x90
안녕하세요? 제임스입니다~구글 시트에서는 여러가지 방법으로 이메일을 발송 할 수 있는데요,

이번에는 매크로, 앱스 스크립트를 사용한 메일 발송, 특히 Html을 사용하는 방법에 대해서 알아보겠습니다.

 

 

자~ 그럼 Html을 활용한 이메일 발송을 어떻게 하는 것인지 한 번 확인해볼까요? Html을 활용해서 이메일을 발송하면, 아래와 같이 다양한 옵션들을 통해서 보다 깔끔하면서도, 전문적인 형태의 이메을 발송 할 수 있습니다.

▼ Html 이메일 발송을 위해서는

1. 이메일 발송을 위한 스크립트 파일과 2. 이메일의 틀을 구성하는 Html 파일이 필요하게 됩니다.

● Code.gs 파일

function sendHtmlEmail() {

 const body = ""; 
 const email = "dsayhong@naver.com"
 var htmlBody = HtmlService.createTemplateFromFile('htmlBody')
 var seminarDate = Utilities.formatDate(new Date(2023, 10, 8, 10, 30), "GMT+09:00", "yyyy년 MM월 dd일 HH시mm분")
     // Date(year, month, day, hours, minutes) 2023, 11, 08, 10:30
     // month는 index로 0(1월) ~ 11(12월)로 되어 있음

     htmlBody.name = "김철수";
     htmlBody.seminar = "구글스프레드시트 & 엑셀을 활용한 업무효율 300% 달성";
     htmlBody.company = "[ 구글 스프레드시트 엑셀 연구소 ]";
     htmlBody.date = seminarDate;

 // Html에서 사용할 값들을 정의해줍니다.   

 var email_Html = htmlBody.evaluate().getContent();   
 
    var subject = htmlBody.name+"님 "+ seminarDate + " 세미나 개최 알림입니다!"   
    GmailApp.sendEmail(email, subject, body, {
          htmlBody: email_Html,
           replyTo: email,      
                    name: "제임스~♥ "     // reply 메일의 이름 설정
        });

}
 

 

Html 파일을 추가하기 위해서 + 파일 추가를 클릭한 다음 HTML을 선택해주고 이름에 'htmlBody'를 입력 해주면 됩니다.

 

● htmlBody.hmtl 파일

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <p>안녕하세요?</p>
    <p><?= name ?>님!</p>
    <p>아래와 같이 세미나 일정을 보내드리오니 확인바랍니다. 감사합니다!</p>
      <img src="https://item.kakaocdn.net/do/d34c0f086d84f469956cee00041b9f37f43ad912ad8dd55b04db6a64cddaf76d" width="190" height="190" alt="Thank You!">
      
      <p>♣ 세미나 주제: <?= seminar ?></p>
      <p>♣ 개최 일시: <?= date ?></p> 
      <p>&nbsp;</p>
      <h4 style="color:green"><?= company ?></h4>  
  </body>
</html>
 

아래와 같이 앱스 스크립트에서 sendHtmlEmail() 함수를 실행 시키고 나서,

 

발송한 대상 이메일을 열어보면 아래와 같이 메일이 잘 도착 된 것을 확인 할 수 있습니다.

도착한 메일을 클릭해서 들어가 보면, Html에서 구성한대로 이메일이 잘 들어와 있는 것을 확인 할 수 있습니다.

 

구글 시트 앱스 스크립트, 그리고 Html 파일을 사용한 메일 발송에 대해서 알아보았습니다. 한 개의 메일을 보내는 방법을 설명하였지만, 구글 스프레드시트와 연동하면 수십 수백개의 메일도 한 번에 보낼 수 있습니다.

 

 

728x90