# Enterprise 대량발송 플랜 인계 문서

- 상태: 기획 중, 미구현
- 최종 갱신: 2026-09-14
- 대상 브랜치: `live`
- 주의: 이 문서는 개발 인계용이다. 아래 기능과 상품은 아직 운영 환경에 제공되지 않는다.

## 목적

일반 OfficialMail Growth 플랜이 지원하지 않는 대량발송 고객에게 한국에 위치한 별도의 관리형 발송 인프라를 제공한다. 일반 메일함 송수신 인프라의 IP 평판과 대량발송 트래픽을 분리하는 것이 핵심이다.

발송 인프라는 고객마다 물리 서버를 독점 제공하는 구조가 아니라, Enterprise 고객을 별도로 격리하고 계정별 한도와 인증정보를 적용하는 관리형 발송 서버 또는 발송 풀을 전제로 한다.

## 상품 정책

| 플랜 | 월 수신자 전송 한도 | 월 요금 |
| --- | ---: | ---: |
| Enterprise 50K | 50,000건 | USD 54.99 |
| Enterprise 100K | 100,000건 | USD 89.99 |
| Enterprise 300K | 300,000건 | USD 199.99 |

- 요금은 VAT 및 결제 국가에서 적용되는 관련 세금 별도다.
- 각 플랜에는 OfficialMail Growth 메일함 1개가 포함된다.
- 별도의 최초 설정비는 받지 않는다.
- 사용량은 메시지 수가 아니라 실제 수신자 수로 계산한다. `To`, `CC`, `BCC`를 모두 합산한다.
- 월 한도에 도달하면 추가 발송을 자동 중단한다.
- 초과 과금은 우선 제공하지 않는다. 상위 플랜 변경 후 다시 발송하도록 설계한다.
- 일반 사용자에게 기본 노출하지 않는다. 상담과 발송 목적 검토를 통과한 고객에게 결제 설정 페이지의 별도 Enterprise 영역을 활성화하는 방식을 우선안으로 한다.
- 고객이 이용 의사를 밝히면 원하는 플랜을 확인하고, 해당 Enterprise 플랜들을 결제 설정 페이지에 추가할지 묻는다.

## 결제 정책

- 해외 결제는 Polar 상품과 구독 연동을 기본 후보로 한다.
- 실제 상품 생성 및 판매 전 Polar에서 관리형 SMTP/API 대량발송 상품을 허용하는지 서면 확인한다.
- 결제 국가에 따라 VAT 또는 관련 세금이 별도로 계산될 수 있다는 문구를 결제 전 명확히 노출한다.
- 결제 성공만으로 즉시 발송 권한을 열지 않는다. 관리자 승인과 서버 할당이 완료되어야 활성화한다.
- 결제 취소, 실패, 환불, 구독 변경 시 발송 권한과 월 한도를 일관되게 동기화해야 한다.

## 제공 방식

- SMTP와 이메일 발송 API를 모두 지원한다.
- 문의 단계에서 SMTP만 사용할지 API도 함께 사용할지 확인한다.
- 고객 또는 도메인별 SMTP 인증정보를 발급한다.
- 허용된 발신 도메인과 주소만 사용할 수 있도록 제한한다.
- SPF, 2048-bit DKIM, DMARC, PTR, A 레코드와 SMTP EHLO 정렬을 확인한다.
- 대량발송용 Postfix 인프라는 일반 Mailcow 메일함 송수신 IP와 분리한다.
- 발송 큐, 재시도, 속도 제한, 반송, 스팸 신고, 수신거부와 suppression 목록을 운영한다.
- 마케팅 메일에는 필요한 경우 `List-Unsubscribe`와 원클릭 수신거부를 지원한다.

## 서버 기본안

- Ubuntu 24.04 LTS
- 2 vCPU
- RAM 4 GB
- NVMe 60~80 GB
- 고정 IPv4와 정상적인 PTR 설정
- 아웃바운드 TCP 25 허용
- 월 네트워크 전송량 500 GB 이상 권장
- Postfix, SMTP AUTH, TLS, Rspamd/DKIM, Fail2ban, 큐 및 평판 모니터링

50,000~300,000건 수준에서는 CPU보다 IP와 도메인 평판, 반송 처리, 속도 제한이 더 중요한 병목이다. 신규 고객이 추가될 때 같은 발송 서버를 사용할 수 있지만 고객별 인증정보, 한도, 로그와 중단 제어는 분리한다.

## 워밍업 책임

워밍업 메일을 OfficialMail이 임의의 주소로 대신 보내지 않는다. 고객이 본인의 수신동의 대상에게 실제 정상 메일을 단계적으로 발송해야 한다.

OfficialMail의 역할은 다음과 같다.

- 서버와 도메인 인증을 설정한다.
- 초기 단계별 발송 한도와 속도 제한을 적용한다.
- 전송 성공률, 하드 및 소프트 바운스, 스팸 신고율을 모니터링한다.
- 결과가 안전한 범위일 때 사용 가능한 발송량을 단계적으로 확대한다.
- 문제가 발생하면 증량을 중단하거나 발송 권한을 일시 중지한다.

신규 또는 평판이 없는 IP는 IP 워밍업이 필요하다. 이미 안정적인 평판이 형성된 발송 풀을 사용하더라도 신규 고객 도메인과 급격한 발송량 증가는 별도로 단계적 확대가 필요하다. 정확한 일정은 고객의 기존 발송 이력, 목록 품질, 예상 일일 발송량을 검토한 후 정한다.

## 이용 심사 및 금지 사항

- 발송 목적과 콘텐츠 유형을 확인한다.
- 수신동의 획득 방식과 증빙 가능 여부를 확인한다.
- 구매, 스크래핑, 무단 수집 또는 사전동의가 없는 주소 목록은 허용하지 않는다.
- 피싱, 사칭, 악성코드, 불법 콘텐츠와 정책 위반 발송은 즉시 중단한다.
- 높은 반송률 또는 스팸 신고율이 지속되면 자동 또는 관리자 판단으로 발송을 중지한다.

## 관리자 기능 초안

- 고객별 Enterprise 플랜 승인 및 결제 설정 노출
- 발송 서버 또는 발송 풀 할당
- SMTP와 API 사용 여부 설정
- 인증정보 발급, 회전, 폐기
- 허용 발신 도메인과 주소 관리
- 월 수신자 한도와 현재 사용량 조회
- 일별, 시간별, 분당 발송 속도 제한
- 워밍업 단계와 다음 증량 시점 관리
- 발송 일시중지 및 재개
- 반송, 신고, 차단과 suppression 현황 조회
- 감사 로그 및 관리자 작업 이력

## 구현 상태

| 항목 | 상태 |
| --- | --- |
| 가격과 운영 정책 | 기획 확정 |
| 고객 안내문 | 초안 확정 |
| 결제 설정 Enterprise UI | 미구현 |
| Polar 상품 및 가격 매핑 | 미구현, 허용 여부 확인 필요 |
| 구독 웹훅과 권한 동기화 | 미구현 |
| 관리자 발송 서버 할당 | 구현, 서버 허용 목록 설정 필요 |
| 대량발송 서버 프로비저닝 | 미구현 |
| SMTP 계정 발급 | 미구현 |
| 이메일 발송 API | 미구현 |
| 수신자 단위 사용량 집계 | 미구현 |
| 월 한도 자동 중단 | 미구현 |
| 워밍업과 속도 제한 제어 | 미구현 |
| 반송, 신고, suppression 처리 | 미구현 |
| 통합 및 운영 검증 | 미실시 |

## 다음 작업 순서

1. Polar에 상품 허용 범위를 확인하고 결제 방식을 확정한다.
2. Enterprise 플랜, 구독과 수신자 사용량 데이터 모델을 설계한다.
3. 관리자에서 고객 심사, 플랜 승인과 발송 중단 기능을 구현한다.
4. 별도의 한국 발송 서버를 준비하고 PTR, EHLO, SPF, DKIM, DMARC와 TLS를 검증한다.
5. 고객별 SMTP 인증정보와 API 키 발급, 회전, 폐기 기능을 구현한다.
6. 결제 설정 페이지에 승인된 고객용 Enterprise 선택 영역을 구현한다.
7. Polar 구독 웹훅과 서비스 권한을 연동한다.
8. 수신자 단위 집계, 월 한도 중단, 반송과 신고 suppression을 구현한다.
9. 테스트 도메인으로 워밍업, 속도 제한, 반송, 구독 변경과 장애 복구를 검증한 뒤 운영을 시작한다.

## 관리자 발송 서버 설정

최고관리자 사이드바의 `발송 서버 관리`에서 추가 SMTP 서버를 등록·수정·중지·삭제하고, 도메인 목록에서 도메인별 발송 서버를 선택할 수 있다. 기본값은 기존 SMTP 서버이며 기본 서버 연결 정보는 운영 환경변수에서 관리한다. 추가 서버는 DB에 저장되므로 등록 후 재배포 없이 즉시 선택지에 표시된다.

- 호스트명과 IP를 모두 입력할 수 있지만 TLS 인증서 검증과 IP 교체를 고려해 호스트명을 권장한다.
- IP로 연결할 때 인증서가 도메인 이름으로 발급됐다면 `TLS 호스트명`을 별도로 입력한다.
- 별도 서버는 기존 메일함 계정과 비밀번호를 사용한 SMTP 인증을 처리할 수 있어야 한다.
- 관리 화면에서 저장할 때 연결 테스트나 실제 메일 발송은 수행하지 않는다.
- 도메인이 할당된 서버는 먼저 할당을 변경하기 전까지 중지하거나 삭제할 수 없다.
- 발송 서버 변경은 새로 전송하는 메일부터 적용되며, 보낸메일 저장은 기존 IMAP 서버를 계속 사용한다.
- 등록이 누락되거나 중지된 서버가 도메인에 할당된 경우 기본 서버로 우회하지 않고 발송을 실패시켜 잘못된 IP 발송을 방지한다.

## 고객 안내 핵심 문구

- Growth 플랜은 해당 규모의 대량발송을 지원하지 않는다.
- Enterprise 50K, 100K, 300K 중 필요한 플랜을 선택할 수 있다.
- VAT 및 관련 세금은 별도이며 최초 설정비는 없다.
- 원하는 경우 결제 설정 페이지에 Enterprise 플랜들을 추가해 드릴지 묻는다.
- 서버 설정과 이용 심사가 필요하므로 결제 직후 즉시 활성화되지 않는다.
- 고객은 수신동의 대상에게 권장 일정에 따라 점진적으로 발송한다.
- OfficialMail은 단계별 한도와 평판 지표를 관리하며 안전한 경우 발송량을 확대한다.
- SMTP만 사용할지 이메일 발송 API도 함께 사용할지 확인한다.
