홈으로

설치 가이드

서버에 배포하거나, 내 PC에서 바로 사용할 수 있습니다.

필요 사항

  • Ubuntu 20.04+ 또는 Debian 11+ 서버
  • Node.js 20+ (설치 스크립트에 포함)
  • 도메인 (예: mail.yourdomain.com)
  • Anthropic 또는 Google AI Studio API 키
  • Resend API 키 + 인증된 발신 도메인

1. 레포지토리 클론

서버에 SSH 접속 후 실행합니다.

git clone https://github.com/extory/mail.git ~/mail
cd ~/mail

2. 환경 변수 설정

.env.local 파일을 생성하고 API 키를 입력합니다.

cp .env.example .env.local
nano .env.local

# 아래 값들을 입력하세요:
# ANTHROPIC_API_KEY=sk-ant-...  (또는 GEMINI_API_KEY)
# RESEND_API_KEY=re_...
# SENDER_EMAIL=newsletter@yourdomain.com
# SENDER_NAME=My Newsletter
# JWT_SECRET=your-random-secret-string

3. 자동 설치 실행

nginx, SSL, pm2, Node.js를 자동으로 설치하고 설정합니다.

chmod +x infra/setup-server.sh
./infra/setup-server.sh

4. DNS 설정

도메인 관리에서 A 레코드를 추가합니다.

mail.yourdomain.com → 서버 IP 주소

5. 접속 및 가입

브라우저에서 접속합니다. 첫 번째 가입자가 관리자(Admin)가 됩니다.

URL: https://mail.yourdomain.com/signup

첫 번째 가입 → 자동으로 관리자 계정 생성
이후 가입 → 관리자의 초대가 필요

업데이트

서버에서:

cd ~/mail && ./deploy.sh

유용한 명령어

pm2 status서비스 상태 확인
pm2 logs mail로그 확인
pm2 restart mail재시작
pm2 stop mail중지

계정 및 초대

  1. 1/signup 에 접속하면 'Create Admin Account' 화면이 표시됩니다.
  2. 2첫 번째 가입자가 자동으로 관리자(Admin)가 됩니다. 초대 코드가 필요 없습니다.
  3. 3관리자 로그인 후 사이드바의 '초대 관리' 메뉴에서 이메일을 입력하고 초대합니다.
  4. 4'링크 복사' 버튼을 클릭하면 초대 링크가 클립보드에 복사됩니다.
  5. 5초대받은 사용자가 해당 링크로 접속하면 초대 코드와 이메일이 자동 입력됩니다.
  6. 6초대 없이는 가입할 수 없습니다.

Resend 웹훅 설정 (이메일 통계)

이메일 발송 통계(전송 성공, 오픈, 클릭, 바운스 등)를 추적하려면 Resend 웹훅을 설정해야 합니다.

  1. 1https://resend.com/webhooks 에 접속합니다.
  2. 2'Add Webhook' 버튼을 클릭합니다.
  3. 3URL에 https://내-도메인/api/webhooks/resend 을 입력합니다.
  4. 4Events에서 다음을 선택합니다: email.delivered, email.bounced, email.opened, email.clicked, email.failed, email.complained
  5. 5'Create' 버튼을 클릭해 저장합니다.
  6. 6설정 완료 후 이메일을 발송하면 통계 페이지(/statistics)에서 실시간으로 추적됩니다.

웹훅을 설정하지 않아도 이메일 발송은 정상 작동합니다. 통계 추적만 비활성화됩니다.

릴리즈 노트

v1.5.02026-04-11Latest
  • 이메일 발송 통계 대시보드 추가
  • Resend 웹훅 연동 (전송, 수신, 오픈, 클릭, 바운스, 실패 추적)
  • 전체 현황 카드 + 비율 게이지 바 + 캠페인별 상세 테이블
  • 발송 시 개별 이메일 ID 저장으로 정확한 추적 가능