n8n 무료로 쓰기 전에: 설치는 공짜였는데 메일 알림 127번이 전부 실패했다
2026. 10. 19. · 직접 운영하면서 잰 기록
n8n은 무료인가
반은 맞다. n8n은 소스가 공개된 도구라서 내 서버에 직접 설치(셀프호스팅)하면 라이선스 비용이 들지 않는다. 공식 클라우드는 유료 요금제다. 그래서 "n8n 무료"를 찾는 사람 대부분은 셀프호스팅을 고민하게 된다.
우리도 그렇게 했다. 공식 Docker 이미지를 Railway에 올려 반년째 쓰고 있다. 설치비는 0원이었다. 그런데 무료로 깔고 나서 막힌 곳은 n8n이 아니라 n8n을 올린 자리였다.
127번 실행, 127번 실패
10월 14일에 문의 메일함 워크플로를 켰다. 1분마다 받은편지함을 읽고, 새 문의가 있으면 알림 메일을 보내는 구조다. 닷새 뒤 실행 기록을 열어 보니 127번이 전부 실패해 있었다. 실패 지점은 모두 마지막 단계, 알림 메일 발송(SMTP 465번 포트)이었고 오류는 「connection timed out」 하나였다.
처음엔 비밀번호 문제로 봤다. 아니었다. 메일함 읽기(IMAP)는 같은 계정으로 정상 동작했다. 원인은 호스팅 요금제였다. Railway 하위 요금제는 외부로 나가는 SMTP 포트(25·465·587 등)를 요금제 단위로 막는다. 프로젝트별 예외도 없다.
더 나빴던 건 순서다. 워크플로는 메일을 먼저 읽음 처리하고 그다음에 알림을 보냈다. 그래서 닷새 동안 메일은 읽음이 되고, 알림은 0통이었다. 오류가 조용히 쌓이는 동안 사람은 문의가 없는 줄 알았다.
무료로 시작할 때 먼저 확인할 것
1. 올릴 곳이 어떤 포트를 막는지. 메일을 보내야 하면 SMTP 대신 HTTPS로 보내는 메일 API를 쓰는 편이 안전하다. 우리도 그쪽으로 바꾸는 중이다.
2. 되돌릴 수 없는 동작(읽음 처리·삭제)을 마지막에 두기. 알림이 성공한 뒤에 읽음 처리하면 실패해도 메일이 남는다.
3. 실패를 알려 주는 워크플로를 하나 따로 두기. n8n에는 다른 워크플로가 실패하면 깨어나는 오류 트리거가 있다.
이 숫자가 답하지 못하는 것
127번은 한 워크플로, 한 호스팅에서 잰 값이다. 다른 PaaS나 자기 PC의 Docker에서는 SMTP가 열려 있는 경우가 많다. 또 이건 "무료라서 생긴 문제"가 아니라 "요금제를 확인하지 않아서 생긴 문제"다. 유료 요금제로 올리면 포트는 열리지만, 그 비용은 이 글에서 재지 않았다.
설치 직후 걸어야 할 설정은 n8n 설치 후 꼭 걸어야 할 설정에 따로 적었다.
이 워크플로가 돌아가는 곳: 자동화 서비스
- n8n
- n8n 무료
- 셀프호스팅
- 업무 자동화
- 워크플로
※ 이 글은 우리 서비스의 실제 기록·측정값을 소재로 생성형 AI가 초안을 쓰고 사람이 확인해 다듬었습니다.