API 참조
이메일 보내기
Send transactional mail only from your verified custom domains over HTTPS — password resets, receipts, alerts, and similar event-driven messages. Not for newsletters or marketing bulk. One endpoint, domain-scoped API keys, delivery through AWS SES.
개요
DNS 확인이 완료된 후 계정 → 도메인 → 사용자 도메인 → API에서 키를 생성하세요. 전체 비밀 키는 한 번만 표시되므로 안전하게 보관하세요. 동일한 도메인 패널의 선택적 SMTP 자격 증명은 동일한 트랜잭션 전용 규칙을 따릅니다.
트랜잭션 메일 전용
Unbox HTTP API (POST /v1/email) and optional SMTP submission are for transactional mail only — messages tied to an account action, purchase, or operational event. They are not a newsletter or marketing broadcast service.
허용된 용도
- 계정 인증, 비밀번호 재설정 및 보안 알림
- 주문 확인, 영수증, 배송 업데이트 및 결제 알림
- 특정 사용자 또는 시스템 이벤트에 의해 트리거된 알림
- 팀 및 워크스페이스 메시지 (초대, 할당, 내부 알림)
금지된 용도
- 뉴스레터, 프로모션 캠페인 또는 브로드캐스트 마케팅
- 구매, 스크래핑 또는 동의하지 않은 목록에 대한 콜드 아웃리치 또는 메일
- 제휴 스팸, 피싱 또는 기만적인 콘텐츠
- 수신자 상한, 속도 제한 또는 요금제 할당량을 우회하려는 모든 시도
속도 및 수신자 제한
수신자와 전송 가능성을 보호하기 위해 아웃바운드 API 및 SMTP 트래픽은 아래 제한이 적용됩니다 (요금제의 월별 아웃바운드 할당량에 추가). 적용은 웹 작성기, HTTP API 및 SMTP 제출에서 실시간으로 이루어집니다. 웹 작성기는 메시지당 수신자가 25명을 초과하면 경고하고, 50명을 초과하면 전송을 차단합니다.
| 제한 | 값 |
|---|---|
| 메시지당 수신자 | 최대 50명 (받는사람 + 참조 + 숨은참조 합계) |
| 일일 고유 수신자 | 워크스페이스당 최대 1,000명 |
| 전송 요청 속도 | 도메인당 분당 최대 10회 API 또는 SMTP 제출 |
| 요금제 아웃바운드 할당량 | 구독의 월별 전송 제한은 여전히 적용됩니다 |
이 규칙은 당사의 허용 가능한 사용 정책의 일부입니다. 자동 적용은 웹 작성기, HTTP API 및 SMTP 제출에서 실시간으로 이루어집니다. 마케팅 또는 대량 메일을 보내거나 전송 인프라를 남용하는 계정은 속도 제한, 일시 중지 또는 종료될 수 있습니다.
전송 가능성 신호를 모니터링합니다. 지속적인 반송률이 3%를 초과하거나 불만률이 0.1%를 초과하면 일시적인 전송 중단 또는 수동 검토가 트리거될 수 있습니다.
인증
모든 요청에 도메인 API 키를 전송하세요:
Authorization: Bearer ubk_live_xxxxxxxxxxxxxxxxxxxxxxxx또는 X-Api-Key: ubk_live_…를 사용하세요. 키는 해시되어 저장되며, 도메인 대시보드에서 취소 또는 교체할 수 있습니다.
요청 본문
PascalCase 필드 이름(From, To, …)을 사용한 JSON입니다. camelCase 별칭도 허용됩니다.
| 필드 | 필수 | 설명 |
|---|---|---|
From | 예 | 발신자 — 키의 도메인에 있는 개인 사서함(기본 또는 별칭). 공유 대기열은 유효한 발신자가 아닙니다. |
To | 예 | 수신자 — 문자열, 쉼표로 구분된 문자열 또는 배열 |
Subject | 예 | 제목 |
TextBody | TextBody / HtmlBody 중 하나 | 일반 텍스트 본문 |
HtmlBody | TextBody / HtmlBody 중 하나 | HTML 본문 |
Cc | 아니요 | 참조 수신자 |
Bcc | 아니요 | 숨은 참조 수신자 |
ReplyTo | 아니요 | Reply-To 주소 |
Tag | 아니요 | 선택적 메타데이터 태그 (발송 시 저장됨) |
예제
{
"From": "you@yourdomain.com",
"To": "user@example.com",
"Subject": "Welcome",
"TextBody": "Thanks for signing up.",
"HtmlBody": "<p>Thanks for signing up.</p>",
"ReplyTo": "you@yourdomain.com",
"Tag": "welcome"
}성공 응답
HTTP 200과 JSON:
{
"ErrorCode": 0,
"Message": "OK",
"MessageID": "0100018…-000000-…",
"SubmittedAt": "2026-06-23T12:00:00.000Z",
"To": "user@example.com"
}오류 응답
오류는 4xx (예상치 못한 실패 시 500)와 함께 JSON 반환:
{
"ErrorCode": 300,
"Message": "TextBody or HtmlBody is required."
}| 오류 코드 | 의미 |
|---|---|
0 | 성공 |
10 | API 키 누락 |
11 | 유효하지 않거나 해지된 키, 또는 발송을 위해 도메인이 인증되지 않음 |
300 | 유효성 검사 오류 (필드 누락, 잘못된 JSON 등) |
403 | 보낸 주소가 허용되지 않음 — 키의 도메인에 있는 개인 메일함이어야 함 |
406 | SES가 메시지를 거부함 |
예제
you@yourdomain.com을(를) 도메인의 개인 메일함으로 바꾸고 자신의 API 키를 사용하세요.
curl "https://api.unbox.im/v1/email" \
-H "Authorization: Bearer ubk_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"From": "you@yourdomain.com",
"To": "user@example.com",
"Subject": "Welcome",
"TextBody": "Thanks for signing up.",
"HtmlBody": "<p>Thanks for signing up.</p>",
"ReplyTo": "you@yourdomain.com",
"Tag": "welcome"
}'시작하기
- Unbox 계정 만들기 및 커스텀 도메인 추가.
- 도메인에서 모든 DNS 확인 단계를 완료하세요.
- 도메인 → 내 도메인 → API를 열고 도메인 키를 생성하세요.
- 위의 예제로 첫 번째 메시지를 보내세요.