데브포일 홈
DEV MODE - 실서버 영향 없음 📦 배포 관리
이메일 자동 분류 & 답변 시스템
+300 XP
LEVEL 59 QUEST

이메일 자동 분류 & 답변 시스템

이메일 자동 분류 & 답변 시스템 — DevFoil 바이브코딩 Stage 13, Lv.59

이메일 자동화가 필요한 이유
하루 50통의 이메일을 AI가 처리한다면
비즈니스를 운영하면 매일 수십 통의 이메일을 처리해야 합니다. 이 중 70% 이상은 패턴이 반복됩니다: 주문 확인, 배송 문의, 환불 요청, 제품 질문 등.

AI가 이메일을 자동 분류하고, 반복 문의에는 자동 답변을 보내고, 중요한 건만 사람에게 에스컬레이션하는 시스템을 만들 수 있습니다.
시스템 전체 흐름
이메일 수신 (Gmail) │ ▼ Gmail API로 메일 가져오기 │ ▼ AI 분류 (Claude/GPT) ├── [주문 문의] → 자동 답변 + DB 조회 ├── [배송 문의] → 자동 답변 + 배송 추적 ├── [환불 요청] → 담당자에게 에스컬레이션 ├── [제품 질문] → AI 자동 답변 (FAQ 기반) ├── [스팸/광고] → 자동 삭제/라벨링 └── [기타/중요] → 담당자에게 알림 (Slack)
Gmail API 연동하기
이메일 가져오기 구현
// npm install googleapis // lib/gmail.ts import { google } from 'googleapis'; const oauth2Client = new google.auth.OAuth2( process.env.GMAIL_CLIENT_ID, process.env.GMAIL_CLIENT_SECRET, process.env.GMAIL_REDIRECT_URI ); oauth2Client.setCredentials({ refresh_token: process.env.GMAIL_REFRESH_TOKEN, }); const gmail = google.gmail({ version: 'v1', auth: oauth2Client }); // 읽지 않은 이메일 가져오기 export async function getUnreadEmails() { const res = await gmail.users.messages.list({ userId: 'me', q: 'is:unread', maxResults: 20, }); const emails = []; for (const msg of res.data.messages || []) { const detail = await gmail.users.messages.get({ userId: 'me', id: msg.id!, }); const headers = detail.data.payload?.headers; emails.push({ id: msg.id, from: headers?.find(h => h.name === 'From')?.value, subject: headers?.find(h => h.name === 'Subject')?.value, body: getEmailBody(detail.data.payload), date: headers?.find(h => h.name === 'Date')?.value, }); } return emails; }
🔒
여기까지는 미리보기입니다
이메일 자동 분류 & 답변 시스템
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)