[구글스프레드시트] 자동 이메일 보내기

in #kr-dev5 years ago (edited)

[구글스프레드시트] 자동 이메일 보내기


구글스프레드시트를 사용해서 데이터를 이메일로 보낼 일이 있어서 자동으로 보내는 방법이 없을까 하고 고민을 했었네요. 처음에는 외부에서 구글스프레드시트를 읽고 외부에서 gmail을 접근 할 수 있는 방법이 있어서 그 방법을 통해서 다른 메일로 자동으로 이메일을 보낼까하고 복잡하게 생각했는데 구글스프레드시트에 스크립트 함수 하나가 그 기능을 대신해주는게 있어서 편하게 활용해 보았네요. 어떤 함수인지 설명 할께요.

1. 이메일 보내기 함수


MailApp.senEmail("보낼이메일주소","제목","내용");

딱 이 한줄로 이메일을 보낼 수 있습니다. 원래 자바스크립트이던 파이썬이든 구글 이메일을 접근하여 다른 이메일로 메세지 보낼때는 먼저 자신의 구글 이메일을 접근 할 수 있는 권한을 가져야 하고 그 권한을 통해 상대 이메일로 메세지 보내는데 구글 스프레드시트에서는 구글 계정 자체이기 때문에 자신의 이메일과 비번이 필요 없고 상대 이메일 주소만 가지고 있으면 자동으로 메세지를 보낼 수 있어 편리 하네요.

예)

var mail ="상대주소@gmail.com";
var title = "테스트";
var body = "내용이 어쩌고 저쩌고";
MailApp.senEamil(mail, title, body);

이렇게 해서 상대 이메일 주소로 메세지를 전송하는 작업이 끝났네요.

2. 환경 설정


이메일을 보내기 위해서는 우선 자신의 구글 이메일 계정 권한 환경 설정이 필요합니다. 자신의 이메을을 외부에서 접근 할 수 있게 개방되어 있어야 합니다.
a1.jpg

위와 같이 확인되지 않는 앱이라고 나옵니다. 고급을 눌러 줍니다.
a2.jpg

aaa으로 이동을 눌러 줍니다. aaa은 현재 테스트 중인 구글 스프레드시트 입니다.

a3.jpg

이 창에서 허용을 눌러 주시면 현재 구글 스프레드시트에서 현재 구글 계정의 이메일을 접근 할 수 있는 권한이 생깁니다. 그럼 스크립트에서 MailApp.sendEmail()함수를 정상적으로 사용 할 수 있게 됩니다.

3. 실습


먼저 아래와 같이 스크립트 편집기로 넘어 갑니다.
b1.jpg

그러면 아래와 같이 myFunction()함수라고 기본 함수가 나옵니다.

b2.jpg

위에서 이메일 보내기 함수를 사용한 예제 코딩을 이곳에서 타이핑 합니다.

실행을 누르면 상대 이메일로 메세지가 전송 됩니다.

이렇게 하면 수동이고 자동으로 보내기 위해서는 다음과 같은 작업 과정이 필요 합니다.

b3.jpg)

위 그림을 보면 시계모양의 아이콘이 있는데 트리거인데 타이머 세팅을 할 수 있습니다. 특정 상황이 되거나 특정 시간이 되면 자동을 특정 함수를 수행하도록 명령을 내리게 할 수 있습니다.

트리거 아이콘을 누르면 창이 트는데 하단에 트리거 추가라고 있습니다. 그걸 눌르면 아래와 같은 창이 뜹니다.

b5.jpg

테스트는 구글 스프레드시트를 수정 할 시 자동으로 이메일을 보내는 명령을 내리도록 했네요.

구글 스프레드시트에서 수정을 해보았네요.
s1.jpg

이렇게 상대 이메일로 메시지가 정상적으로 전송 되었습니다.

마무리


한개의 함수로 쉽게 특정 이메일로 메세지를 보낼 수 있어 괜찮더군요. 구글 스프레드스트에 대량의 이메일이 주소가 등록 되어 있으면 대량의 이메일 주소로 특정 메세지를 자동으로 보낼 수 도 있겠다는 생각이 드네요. 만약, 구글 스프레스시트를 데이터베이스로 활용한다면 해당 이메일 주소로 특정 정보를 해당 이메일 주소를 가지고 있는 상대에게 맞춰서 정보를 제공해 줄 수 있는 기능으로도 활용 할 수 있겠다는 생각이 들더군요.
거래소 API를 이용한 가상화폐 정보나 웹에서 클로링으로 수집한 정보를 맞춰서 자동 알림 이메일 전송도 괜찮게 활용 할 수 있을 것 같아 활용하면 졸을 것 같다는 생각 이드네요.

구글 설문지 작성시에서 작성 후 정상적으로 처리 되었는지 알림 이메일 전송으로도 활용이 많이 되고 있는 것고 암튼 이 한개의 함수가 꽤 재미있는 함수네요. 활용 범위도 넓고요.

인터넷 상에서 구글 자동 이메일 보내는 post가 많은데 정리 차원으로 글을 씁니다. 참고로 구글 이메일을 외부 접근을 예전에 라즈베리파이를 가지고 놀때 라즈베리파이를 부팅 시킬 때 해당 IP 주소를 파이썬을 이용하여 구글 이메일을 접근하여 네이버 이메일로 보내서 라즈베리파이를 장소에 상관없이 다른 외부 장치에서 라즈베리 파이를 쉽게 접근하는데 활용 했던 기억이 나네요. 구글 이메일을 외부 접근 권한을 가지면 구글 이메일을 쉽게 쓸 수 있어 참 편리하더군요.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Thank you

오 유용한 정보 감사합니다.
저도 한번 해봐야겠어요.

이걸 웹클로링 하고 나서 특정 정보를 자신의 이메일로 보낼 때 활용하면 좋을 것 같아요.
정보 수집용이나 알람으로 쓰면 꽤 재밌을 것 같아요.