Email 연동
기준일: 2026-07-26
난이도: 중급
공식 기준: Email
개요
Hermes Email gateway adapter는 표준 IMAP/SMTP만 사용합니다 (imaplib/smtplib). Gmail·Outlook·Fastmail 등 IMAP/SMTP 제공자면 됩니다. 별도 봇 API 불필요.
에이전트가 터미널에서 메일함을 관리하는 Himalaya 스킬과는 별개입니다 (외부 himalaya CLI 필요).
| 용도 | 설정 | 의존성 |
|---|---|---|
| 사람이 에이전트 주소로 메일 → 회신 | Email gateway (이 문서) | 메일 계정만 |
| 에이전트가 메일함 조작 | Himalaya skill | himalaya CLI + config |
핵심 개념
| 항목 | 내용 |
|---|---|
| 수신 | IMAP UNSEEN 폴링 (기본 15s) |
| 송신 | SMTP + In-Reply-To / References 스레딩 |
| 보안 | 전용 수신함 + EMAIL_ALLOWED_USERS 권장 |
| 첨부 | 이미지→비전, 문서→파일; skip_attachments 가능 |
상세
사전 준비
- 전용 메일 계정 (개인 메일 비권장)
- IMAP 활성화
- 2FA 시 앱 비밀번호 (Gmail App Passwords, Outlook 등)
Gmail: 2FA → App Passwords. Outlook: outlook.office365.com / smtp.office365.com.
설정
hermes gateway setup # Email 선택
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=xxxx xxxx xxxx xxxx
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_ALLOWED_USERS=you@email.com,colleague@work.com
# EMAIL_IMAP_PORT=993
# EMAIL_SMTP_PORT=587
# EMAIL_POLL_INTERVAL=15
# EMAIL_HOME_ADDRESS=you@email.com
hermes gateway
시작 시 IMAP/SMTP 테스트, 기존 받은편지함을 seen 처리 후 신규만 처리.
동작
- 제목은 컨텍스트 (
[Subject: …]),Re:스레드는 제목 접두 생략 가능 - HTML-only는 태그 제거
- 자기 자신·noreply/mailer-daemon/Auto-Submitted/List-Unsubscribe 등은 무시
- 회신 첨부: 응답에
MEDIA:/path - 첨부 스킵:
platforms:
email:
skip_attachments: true
접근 제어
- allowlist 설정 → 해당 발신자만
- 미설정 → 기본 무시 (채팅 플랫폼보다 엄격)
EMAIL_ALLOW_ALL_USERS=true→ 전원 (주의)unauthorized_dm_behavior: pair→ 페어링 코드 (opt-in)
트러블슈팅
IMAP/SMTP 실패 → 호스트·포트·IMAP 사용 설정·앱 비밀번호. 회신 없음 → allowlist·스팸·SMTP. 루프 → 자기 주소 필터·전용 계정.
체크리스트
- 공식 원문과 명령·설정 키를 대조했다
- 로컬/
config.yaml/.env에서 재현 경로를 확인했다 - 권한·allowlist·시크릿 노출을 점검했다
- 실패 시 롤백·비활성화 방법을 알고 있다
다음 단계
- 공식 문서: Email
- 메시징 게이트웨이
- Hermes Agent 소개
기준일: 2026-07-26 — 공식 문서 동기화 코퍼스