
Postbox는 여러 도메인의 메일 주소를 한곳에서 관리하는 오픈소스 웹 메일함이다. 사용자는 자신의 Cloudflare 계정에 배포해 메일과 저장 공간, 접근 정책을 관리할 수 있으며, 터미널에서 메일을 읽거나 사람의 검토를 거칠 초안을 만들 수도 있다.
여러 주소를 통합한 받은편지함과 주소별 받은편지함, 검색·라벨·첨부파일·자동 저장 초안 등을 제공한다. Cloudflare Access와 허용 이메일 목록으로 접근을 제한하고, 원격 이미지를 차단하며 이메일 HTML을 정화·격리한다. 허용된 사용자는 전체 작업 공간을 공유하므로 소유자나 신뢰할 수 있는 그룹에 적합하며, 보안 경계를 나누려면 설치 환경을 분리해야 한다.
설치와 사용 조건
로컬 미리보기에는 Node.js 22.12 이상과 npm이 필요하다. Cloudflare 계정 없이 샘플 메일을 확인할 수 있고, 전송은 시뮬레이션된다. 로컬 데이터는 .postbox/local 아래에 저장되며 개발 서버는 루프백 주소에서만 실행하도록 안내한다.
git clone https://github.com/NaxAlpha/postbox.git
cd postbox
npm ci
npm run postbox -- start
실제 배포에는 Cloudflare Workers 유료 계정, 활성화된 R2, Cloudflare DNS를 사용하는 도메인, Email Sending 및 Email Routing 접근 권한이 필요하다. 설정 마법사는 계정과 도메인을 보여주고 사용할 주소와 메일함 호스트 이름, 로그인 허용 이메일을 묻는다. DNS 변경을 적용하기 전에 미리 보여주며, 충돌하는 메일 설정이 있으면 CLI가 배포를 거부한다.
npm link
postbox login
postbox init
postbox deploy
postbox deploy는 Worker, D1 데이터베이스, 비공개 R2 버킷, 큐, Access 애플리케이션을 만들고 메일 라우팅을 연결한다. 다시 실행하면 설치 환경을 갱신한다. 다중 인증(MFA)은 선택 사항이며 기본값은 꺼져 있다. 비공개 설정과 소유권 기록은 Git에서 제외되므로 mailbox.config.json과 .postbox/를 백업해야 한다.
CLI는 메일을 JSON으로 읽고 초안을 만들 수 있다. 초안 작성은 메일을 보내지 않으며, 터미널 없이 전송하려면 --yes를 명시해야 한다. 브라우저와 CLI는 저장된 초안을 공유한다. 메일함 로그인(postbox auth)은 Cloudflare 계정 로그인과 별개다.
Postbox는 초기 릴리스다. 프로젝트는 빌드·보안·저장소 통합·브라우저 회귀 테스트가 있다고 밝히며, 두 도메인에서 수신 메일, 답장, 첨부파일이 있는 전달을 포함해 비공개 배포를 시험했다고 설명한다. 다만 Cloudflare Email Sending은 베타이며 거래성 이메일만 지원한다. Workers 유료 구독만으로 발송 자격이 보장되지 않으므로 일상 메일함으로 사용하기 전에 자격과 허용 용도를 확인해야 한다. 전송 상태가 accepted여도 실제 배달을 뜻하지 않는다.
IMAP/POP3 서버, 메일 클라이언트용 SMTP 접근, 오프라인 메일함, 서식 있는 텍스트 편집기, 종단간 암호화는 제공하지 않는다. 삭제는 postbox destroy로 계획을 확인한 뒤 --apply와 정확한 리소스 접두어를 지정해야 하며, 메일 삭제에는 버킷 소유권 확인도 필요하다.
Postbox 저장소와 시작 안내 · CLI 안내 · 배포 안내 · 아키텍처 · 보안 안내 · 검증 기록 · 보안 수정 기록 · Cloudflare FAQ · 기여 안내 · 문서 목록 · MIT 라이선스
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요