DEV Community

수연 안
수연 안

Posted on

구글 앱스 스크립트 (Google Apps Script) 를 이용하여 메일로 구글 설문지 제출 알림 받기

google apps script 에 대한 설명 및 사용법은
이전 게시물에서 작성되어 생략합니다.

1. 구글 설문지 준비

구글 설문지를 생성합니다.

image

2. 설문 조사

구글 설문지를 이용하여 설문조사를 받습니다.
image

3. 설문 응답 확인

설문지 응답 확인을 위한 구글 스프레드 시트 준비를 합니다.

image

4. 스크립트 편집기 작성

구글 스프레드 시트에서 스크립트 편집기에 들어갑니다.

image

5. 구글 앱스 스크립트 내 소스코드 작성하기

메일을 발송하는 소스코드를 작성합니다.

image

6. 트리거 메뉴

왼쪽 메뉴바의 시계 아이콘으로 생긴 트리거 메뉴로 접근합니다.

image

7. 트리거 추가

양식제출 즉시 소스코드가 실행될 수 있도록 트리거를 추가합니다.

image

8. 트리거 생성 확인

트리거가 생성되었습니다.

image

9. 메일 전송 확인

양식 제출 시 메일이 전송되는 것을 확인하였습니다.

image

10. 메일 본문 내 스프레드시트 내용 첨부

메일 본문이 심심하므로, 설문조사를 한 내용이 담겨 있는 스프레드시트 내용을 첨부하는 소스코드를 작성합니다.

function onFormSubmit(e) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("A1:G10");   
  var values = range.getValues();
  console.log(values);

  var contents = values.map(function(i) {return i + "<br>"});
  if (contents.length > 0) {
    var emailAddress = "<구글이메일주소>@gmail.com"; 
    var subject = "설문이 접수되었습니다.";
    var message = contents.join("\n");

    MailApp.sendEmail({
      to: emailAddress,
      subject: subject,
      htmlBody: message, 
    });
  }
}

Enter fullscreen mode Exit fullscreen mode
  • spreadsheetapp.getactivesheet() 함수를 통해 구글스프레드시트를 활성화
  • getRange() 함수를 통해 셀의 범위를 지정
  • getValues() 함수를 통해 값들을 가져옴
  • console.log() 함수를 통해 가져온 값을 출력
  • map() 함수 내 function 을 실행한 결과를 이용하여 새로운 배열을 생성
  • join() 함수를 통해 배열 값을 구분자를 이용하여 문자열로 생성
  • MailApp.sendEmail() 함수를 통해 메일 전송

image

11. 메일 확인

구글 설문지가 제출되는 즉시, 메일로 설문내용이 전송되었습니다.

image

Top comments (0)