n8n으로 뉴스레터 자동화 서비스 만들기 : 구글 app script로 번역
- IT/Dev
- 2025. 5. 13.
n8n을 로컬에 서버로 설치하고 맥미니로 n8n 자동 뉴스레터 발행서비스를 간단히(?) 만들었습니다.
맥미니 m4 기본형인데요. 아주 잘 돌아가고 있습니다. 주말에 작업했는데 첫날은 n8n의 타임존 설정이 미국으로 되어 있어서 메일을 받지 못했지만 오늘 아침엔 8시에 뉴스레터를 받아 볼 수 있었습니다.

아래 과정이 많이 복잡해보이지만 사실 챗지피티에게 물어보면서 하나하나 처리했습니다. 다만 저는 제가 처음 요청한 부분을 챗지피티가 방향을 잘못잡아서 수정을 하느라 한참 걸렸으니 챗지피티에 요청하실 때 아래 내용들을 참고하셔서 요청하시면 빠르게 작업하실 수 있을 거예요.
n8n으로 자동 뉴스레터 서비스 만드는 방법을 공유합니다.

n8n 설치방법은 지난 포스팅을 참고해주시기 바랍니다.
설치 방법이 까다롭지는 않지만 잘 모르신다면 챗GPT를 활용하시면 어렵지 않게 설정하실 수 있어요.
M4 맥미니로 n8n 자동화 구축하기: 클라우드 구독 대신 로컬 설치 진짜 장단점
M4 맥미니로 n8n 자동화 구축하기: 클라우드 구독 대신 로컬 설치 진짜 장단점
n8n말고도 자동화를 도와주는 여러가지 툴들이 있습니다. 제가 n8n을 선택한 이유는 로컬 설치를 할 수 있다는 점 때문인데요. 오늘은 n8n을 로컬에 설치하기로 결정한 이유 - 장점 등과 함께 간단
creavart.tistory.com
저는 맥에 설치하는 방법으로 했지만 윈도우 PC에서도 얼마든지 가능합니다.
맥에 설치하는 것은 일종의 리눅스 서버를 이용하는 것과 비슷해서 오래 켜놔도 부하가 크지 않은 장점이 있습니다. 또 맥미니를 알차게 활용하는 방법 중 하나로 택한 방법이기도 하구요.
n8n으로 ai 뉴스레터 서비스 만들기
뉴스레터는 일정한 시간이나 요일, 기간에 따라 반복적으로 발행이 되어야 하죠. 직접 컨텐츠를 만들어서 스티비 같은 사이트에서 만들어서 발행하는 것이 일반적이지만 저는 자동으로 ai 관련 소식을 매일 가져와서 간단히 제목을 번역하고 원문제목과 함께 만들어진 소식을 메일로 발행하고 메일로 발송하는 서비스를 붙여서 완성하는 형태로 했습니다.
비교적 간단한 프로세스지만 전혀 코딩을 하지 않고 챗지피티로 방법을 하나하나 질문하고 따라하고 수정하면서 구현하는 과정이 그렇게 쉽지는 않았습니다. 아마 직접 해보시는 분들은 여러 시행착오를 겪게 되실 거예요.
제작 과정은 다음과 같습니다.
- 워크플로우(Workflow) 추가
- add first step 클릭 (스케줄 기능 설정)
- ai 뉴스 가져오기
- xml to JSON 변환
- TOP5 기사만 생성
- 가져온 뉴스 타이틀 한글로 번역
- 번역된 뉴스제목들 다시 묶어주기
- 5개 번역된 뉴스를 html 형태로 메일 포멧으로 만들기
- send mail 설정
- 테스트 발송
위의 이미지를 보시면 8개의 노드가 있는 것을 확인하실 수 있습니다. 각각에 자동화를 위한 설정이 되어 있습니다.
1. 워크플로우 추가


워크플로우를 추가하려면 n8n에서 좌측 상단에 +버튼을 누르시면 됩니다. 처음 시작할 때는 화면 가운데 Add first step이 나와 있을 수 있구요. 저 같은 경우는 이미 하나 만든 것이 있어서 기본 화면에 dashbord에 첫번째 워크플로우가 떠 있어서 새로 만들기하는 버튼을 눌러줘야했습니다. 누르면 화면 가운데 add first step이라는 노드가 하나 나타납니다.
2. add first step(스케줄 기능 설정)
+를 눌러서 스탭을 추가할 때마다 어떤 기능을 사용할지 오른쪽 화면에서 기능을 선택하게 됩니다.
n8n이 아니라 make를 사용해도 방법은 비슷하게 진행됩니다.

on a schedule를 선택합니다.
스케줄 날짜는 아래와 같이 선택해주면 되는데요. 이것 외에 체크해야할 부분이 있습니다. 우측 상단 save 옆에 ...버튼을 눌러서 settings를 확인합니다.


설정에서 타임존을 asia/seoul로 변경해주세요. 스케줄러가 돌아갈 기준시간대가 서울이 아니면 원하는 시간에 메일이 발송되지 않을 수 있습니다.

여기서 잠깐! n8n 상단에 보면 save 버튼이 보입니다. 방금 저장하고 나면 saved로 나오는데요. 매번 저장을 해줘야합니다. 저장하지 않고 무심코 새로고침을 누르거나 브라우저를 닫아버리면 작업했던 것을 다 잃어버리게 될 수 있습니다.

3. AI뉴스 가져오기
웹 사이트에서 정보를 가져오는 것은 Http request를 이용합니다.
스케줄러를 설정한 다음 다시 옆으로 뻗는 가지로 + 를 눌러서 http request를 추가합니다. 방식은 get,뉴스를 가져올 사이트를 입력해주면 되는데요. 사이트에서 허용하지 않는 경우도 있어서 오류가 나기도 합니다. 저는 이것 때문에 계속 오류가 나서 결국 feed로 설정해주고 나서야 제대로 뉴스를 가져올 수 있었습니다. feed로 제공하지 않는 사이트라면 또다른 방법을 찾아야합니다.

뉴스를 가져오는 사이트마다 허용하는 범위가 다르다고 합니다. 어떤 곳은 이런 식으로 봇을 이용해 가져가는 것을 제한하기도 하고 어떤 곳은 크롤링을 다른 방법으로 해야하는 경우도 있으니 테스트를 해보면서 chatgpt 같은 챗봇에게 물어보면서 진행하면 됩니다.
4. XML --> JSON 변환
JSON 형식으로 변환해야 도구가 이해를 더 잘 한다는 것 같습니다. 바로 웹훅으로 json (자바스크립트 객체) 형식으로 가져오면 없어도 되지만 xml형식인 경우는 오류가 날 수 있다고 하네요. RSS 에서 데이터가 바로 json으로 오면 빼도 되지만 그렇지 않은 경우는 있어야 수작업을 제외 할 수 있습니다.
그리고 각 단계 별로 TEST STEP 버튼이 있어서 해당 부분이 잘 진행되는지 테스트 해볼 수 있습니다.
그리고 전체 플로우가 돌아가는 것을 테스트 해볼 수 있는 버튼도 있어서 각각의 기능이 프로세스 안에서 잘 돌아가는지 확인해볼 수 있습니다.

5. TOP5 기사만 가져오기
기본적으로 RSS에서 가져오는 아이템이 20개 정도 될 수 있기 때문에 다 써도 되지만 저는 5개만 쓰려는 목적이 있어서 이부분을 추가했습니다.

Run once for all items로 안되는 경우도 있던데 챗지피티에게 물어보고 처음엔 다르게 설정했다가 나중에 여러 테스트를 거쳐서 최종적으로 run once for all items로 정착했습니다.
* N8N에서는 전엔 Function이라는 기능이었던 것인지 설명이 function을 찾으라고 나오던데 검색해보면 code가 나옵니다. code를 사용하면 됩니다.

6. 번역 ( 구글 App Script)
코드로 5개 뉴스 아이템을 가져온 다음에 http request로 이번엔 번역을 수행합니다.
처음엔 loop로 5개를 번역하는 과정을 하나씩 5회 적용하고 다음 단계로 넘어가는 형식으로 했었는데 계속 에러가 발생해서 한꺼번에 넘기는 방식으로 변경했습니다.
여기서는 구글 앱 스크립트를 먼저 설정을 한 후에 번역요청을 n8n에서 보내고 값을 처리해야합니다.
구글 앱 스크립트 (Apps Script)
구글에서 구글 앱스크립트를 검색하면 맨 위에 나오는 사이트입니다.

app script를 사용하려면 초보자는 구글의 개발자 도구에 많은 메뉴와 많은 기능들에 뭘 해야할 지 모르는 상황일 수 있습니다.
당황하지 마시고 그냥 다 챗지피티에 물어보세요. 그러면 하나하나 차근차근 따라하면서 이용설정을 하고 스크립트까지 입력할 수 있습니다.

* 사용하기 전에 사용설정이 잘 안될 수 있는데 이중인증 설정이 되어 있어야 가능합니다.
앱 사용인증을 할 수 있는 작업이 선행되어야 app script를 사용할 수 있으니 이부분 꼭 기억해주세요.
* 앱스크립트가 만들어지고 사용할 수 있도록 배포까지 마친 다음에 나오는 주소를 n8n에 입력해줘야 합니다.
header, body부분을 켜줘야하고 각각에 맞는 간단한 코드를 넣어 줘야합니다.


7. 변역된 것 받아오기
번역을 요청하는 과정이 끝나면 앱스크립트에서 번역한 것을 받아오는 부분이 있어야 합니다. 이부분도 code로 입력하고 자바스크립트로 받아오는 기능을 넣어줍니다.

8. 뉴스레터 형식 만들기
노드를 추가해서 뉴스레터 형식을 만드는 code를 추가합니다.

코드 자체가 중요하긴 하지만 위의 코드를 베낄 필요가 없이 챗지피티에 각 프로세스대로 기능을 요청하면 되기 때문에 더 좋은 코드를 줄테니 그대로 사용하시면 되고, 테스트 해본 후 문제가 있으면 다시 오류 내용을 챗지피티에 보내서 수정하는 방법으로 진행하시면 코딩 하나도 몰라도 다 할 수 있습니다.
9. SEND MAIL 설정
저는 구글 메일을 센드메일 서버로 사용했습니다. 하루에 몇십명 정도는 얼마든지 구글 메일로 보내도 아무런 문제가 생기지 않습니다.
smtp 계정으로 본인의 이메일 주소를 사용하고 받는 사람을 ,로 구분해서 입력해줍니다.

그리고 뉴스레터 제목과 이메일 포멧을 설정해주고 html을 어떻게 묶어서 올 것인지 간단한 스크립트를 추가해주면 발송준비가 완료됩니다.

아래는 실제로 네이버로 메일을 받아본 뉴스레터입니다.

더 디자인도 하고 뉴스의 종류도 다양하게 여러 곳에서 편집해서 받아 온 다음 본문까지도 요약해서 추가하면 훨씬 더 완벽한 뉴스레터의 형태를 갖출 수 있고 이미지도 제목과 내용에 맞춰서 생성해서 추가하면 뉴스레터로서 완벽할 것 같습니다.
마치며,
오늘은 n8n으로 뉴스레터 서비스 만드는 방법을 공유해드렸습니다. 100% n8n으로만 만든 것은 아니지만 코딩 한줄도 없이 뉴스레터 서비스를 만들고 나만의 서버에서 발송하는 것도 가능합니다. 훨씬 더 고급 서비스를 코딩 없이도 만들 수 있으니 직접 유용한 서비스를 만들어 보셔도 좋겠습니다. 저는 좀 더 고도화해서 매일 나만을 위한 뉴스레터 서비스로 업그레이드 해볼 생각입니다.
고맙습니다.
'IT > Dev' 카테고리의 다른 글
| Claude Code 설치하는 방법 (Cursor AI에서 사용하는 방법) (3) | 2025.06.23 |
|---|---|
| 포토샵 2025 (26.6.1) 누끼 따는 실력, 이 정도였나? ( 더좋아지게 하는법) (3) | 2025.05.14 |
| n8n 서버 M4 맥미니로 외부접속 가능하게 만들기 (0) | 2025.05.11 |
| M4 맥미니로 n8n 자동화 구축하기: 클라우드 구독 대신 로컬 설치 진짜 장단점 (0) | 2025.05.10 |
| 포토샵 마스킹 마스터하기: 초보도 전문가처럼! (0) | 2025.05.07 |