본문 바로가기
AI Agent

[ AI Agent ] 이메일 에이전트 자동화 ( 네이버 )

by 2CHAE._.EUN 2026. 6. 19.
n8n E-mail 작동 방식

 

이메일이 수신되면 n8n이 자동으로 인식해서 동작한다. 

 

IMAP : 로컬 서버에서 프로그램을 이용해서 전자우편을 엑세스 하기 위한 표준 프로토콜

→ 메일을 서버로 가져오고 유지하기 위한 방식

* IMAP의 기본 포트 번호는 143이며, 보안이 적용된 SSL/TLS 연결은 993번을 사용한다.

POP3 : 메일 서버에 도착한 이메일을 사용자 컴퓨터로 가져오는 프로토콜

SMTP : 사용자의 컴퓨터에서 작성된 메일을 다른 사람의 계정으로 전송하는 프로토콜

 

n8n Email Trigger

 

1. Email Trigger (IMAP) 추가하기

 

① INBOX : 네이버의 기본적인 메일

* 특정 폴더를 만들어서 그 폴더 안의 메일만 관리하겠다하면 Mailbox Name을 폴더명으로 변경해주면된다.

② Format : 메일을 어떤 형태로 가져올 것인지

* RAW : 원본 자체

* Resolved : 원본을 해석한 형태 → 메일 정보에서 필요한 데이터를 사용하기 위해 Resolved로 설정

* Simple : 여러가지 정보가 생략된 간단한 형태

 

2. 네이버 메일을 사용하기 위해 네이버 메일 환경설정의 POP3/IMAP 설정 접속

① 하위 정보를 Email Trigger Credential에 작성해줘야한다.

아이디는 User에 넣어주기

② 2단계 인증의 경우 IMAP 방식의 메일을 사용하기 위해서는 애플리케이션 비밀번호를 생성해줘야함.

생성된 비밀번호를 IMAP Password에 넣어주기

 

③ Host는 IMAP 서버명을 넣어주고 포트는 993 그대로 사용한다.

 

④ execute step으로 실행해보면 네이버 계정으로 들어온 실제 메일을 n8n에서 확인이 가능하다.

네이버 메일함에서는 해당 메일이 읽음 처리가 된다.

 

3. AI Agent를 이용해서 메일이 스팸 메일인지 판단하고 스팸이라면 휴지통으로 보내는 기능 구현하기

 

① AI Agent에 전달받은 메일 내용에서 스팸 여부를 판단할 수 있는 프롬프트를 작성해야한다.

이전 노드에서 들어온 메일의 내용을 참고해 Chat Model에게 작성한 프롬프트를 전달해준다. 

 

② AI의 OUTPUT을 문장이 아닌 형식으로 지정하기

AI Agent의 Require Specific Output Format을 켜주면 AI Agent에 Output Parser이라는 노드가 생긴다.

Output Parser은 AI가 어떠한 포맷으로 출력을 해줄지 미리 지정해주는 역할이다.

 

프롬프트를 JSON 형태로 전달해준다면 AI Agent의 출력값이 yes/no의 형태로 변경된다.

* LLM(대화형 인공지능 모델)이 스스로 문맥을 판단하여 "yes" 또는 "no"를 선택해 답변

* AI Agent의 프롬프트에서 모든 OUTPUT은 한글로 작성해달라는 프롬프트를 작성하면 한글로 확인 가능하다.

 

③ 스팸인 경우와 아닌 경우에 각각 기능을 수행하기 위한 Switch 노드 만들기

Switch : value1이 value2 상태라면 분기해줄 수 있는 기능을 제공하는 노드

* 변수 타입에 따라 사용할 수 있는 함수가 다양함

 

n8n에는 메일을 옮기거나 지우는 기능은 없기 때문에 Communuity node에서 개발자들이 공유한 노드를 사용해야한다.

사용 방법은 필요한 노드의 이름을 n8n에서 npm Package Name에 복붙하고 설치해주면됨.

 

 

설치가 완료되면 다운로드 된 노드 확인 가능

 

다운로드한 노드를 사용하기

* 노드이름 옆에 정육면체/박스는 Community Node에서 추가로 설치된 노드라는 뜻 

 

④ 메일을 옮기려면 옮기고자 하는 메일을 특정할 수 있어야한다. 그러나 특정하기 위해 Email UID가 필요함.

(1) Email Get Many 노드에서 UID 구하기

→ AI Agent가 전달해준 메일을 제목과 발신자 등으로 구분해서 UID를 만들어준다.

Search Filters에서 이메일 제목인 Subject를 Subject Contains에 넣어준다.
메일 제목이 같을 경우를 대비해 발신자인 From Value를 From Contains에 넣어서 각 메일을 식별해 UID를 구한다.

 

(2) Email Get Many 노드를 Email Move와 연결해 전달받은 UID에 해당하는 메일을 Move할 Destination Mailbox를 설정해준다. 

네이버 메일이기 때문에 값은 네이버 카테고리 기준이고 내가 만든 폴더도 확인 가능하다.

 

스팸이 아닌 경우 n8n 폴더로 이동하도록 Email Move 노드를 연결했다.

네이버 메일로 n8n 폴더로 가보면 해당 UID에 해당하는 메일이 n8n 폴더로 이동된 것을 확인할 수 있다.