인박스 번역기: 자동 이메일 번역을 위한 AI 솔루션
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 이메일을 통해 다국어로 의사소통하는 프로페셔널 및 기업
- Node.js, Express, AI 모델 통합 기술에 관심 있는 개발자
- 중간~고급 수준의 프론트엔드/백엔드 개발 지식 보유자
핵심 요약
- AI 기반 자동 이메일 번역 기능 제공 (OpenRouter의 GPT-3.5-turbo 모델 사용)
- Postmark 인바운드 이메일 파싱과 통합하여 이메일 수신-번역-반송 프로세스 자동화
- 다크 테마 지원 UI로 간편한 사용자 경험 제공 (Tailwind CSS + EJS 활용)
섹션별 세부 요약
1. 프로젝트 초기 설정
npm init
으로 프로젝트 초기화 후express
,ejs
,postmark
,node-fetch
등의 패키지 설치/views
(EJS 템플릿),/public
(Tailwind CSS),.env
(환경 설정) 등 폴더 구조 생성- Node.js + Express 기반 백엔드 서버 로직 구현
2. Postmark 인바운드 이메일 설정
- Postmark 계정 생성 후 Inbound Stream 구성 및 Webhook URL (
https://inbox-translator.onrender.com/inbound-email
) 설정 - 도메인 검증 또는 테스트 도메인
inbound.postmarkapp.com
사용
3. 이메일 수신 처리
/inbound-email
웹훅 경로를 통해 Postmark로부터 이메일 데이터 수신- 수신자 및 원본 메시지 내용 로깅 처리
4. 언어 감지 및 조건부 번역
- LibreTranslate 사용하여 영어 여부 감지
- 영어가 아닐 경우 OpenRouter의 GPT-3.5-turbo 모델로 번역 (예:
if (language !== 'en') { // 번역 로직 }
)
5. 번역된 이메일 반송
- Postmark의
sendEmail
메서드로 원본 발신자에게 번역된 이메일 반송 - 동적 제목 및 본문 구성:
- 제목: "Translated Email (Inbox Translator)"
- 본문: "Here is your translated message:\n\n${translatedText}"
6. 프론트엔드 UI 구현
- EJS + Tailwind CSS로 구성된 이메일 이력 뷰어 구현
- 메모리 기반 이메일 저장 및 반응형 카드 레이아웃 적용
- 다크/라이트 모드 토글 및 애니메이션 추가
결론
- Tech Stack: Node.js + Express (백엔드), EJS + Tailwind CSS (프론트엔드), Postmark (이메일 엔진), GPT-3.5-turbo (번역), Render.com (배포)
- 실무 적용 시: Postmark 웹훅 설정 및 OpenRouter API 키 관리가 필수, Tailwind CSS를 활용한 UI 개선이 핵심
- 다국어 이메일 처리 시 자동 번역과 간편한 UI 통합이 주요 성과 요소