inboxsink API
코드로 다룰 수 있는 일회용 편지함입니다. 실제 메일함에 의존하지 않고 가입 흐름을 테스트하세요. 다섯 개 경로, https://inboxsink.com 기준, JSON으로 주고받습니다.
판을 바꾸는 경로는 wait입니다. 메일이 도착할 때까지 대기합니다. 이것이 없으면 엔드투엔드 테스트는 sleep으로 어림잡게 되고, 발송 대기열이 밀리는 순간 불안정해집니다.
월 1 000회, 카드 불필요. 테스트 스위트에 붙여 실제로 버티는지 확인하기에 충분합니다.
이후 테스트가 거부되기 시작하면, 전용 도메인은 어디에도 공개되지 않으므로 차단 목록에 오르지 않습니다 — 월 29 €.
JavaScript 클라이언트
의존성이 전혀 없는 패키지로, Node 18 이상을 지원합니다. 코드는 GitHub에 있습니다.
npm i inboxsink
import { InboxSink } from 'inboxsink'; const sink = new InboxSink(process.env.INBOXSINK_API_KEY); const inbox = await sink.createInbox(); const code = await sink.waitForOtp(inbox.id); // '204815'
코드가 오지 않으면 waitForOtp는 null을 돌려주는 대신 예외를 던집니다. 테스트는 조용히 빈 칸을 채우는 대신 요란하게 실패해야 하니까요.
인증
호출마다 Authorization 헤더를 붙입니다. 키는 대시보드에서 만들며 ibsk_로 시작합니다.
curl -H "Authorization: Bearer ibsk_…" \
https://inboxsink.com/v1/domains
평문 키는 생성 시점에만 표시됩니다. 이후에는 접두사만 보이며, 저희는 해시만 보관합니다.
편지함 만들기
모든 매개변수는 선택입니다. domain(기본값은 풀에서 무작위 도메인), prefix(기본값 무작위), ttl_seconds(60초에서 30일).
curl -X POST https://inboxsink.com/v1/inboxes \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"ttl_seconds": 900}' → 201 { "id": "42", "address": "9f2c1a@mailhusk.com", "expires_at": "2026-09-01T15:12:00Z" }
API로 만든 편지함은 비공개입니다. 그것을 만든 키만 읽을 수 있습니다.
메일 기다리기
메일이 도착할 때까지 대기했다가 즉시 응답합니다. timeout은 밀리초 단위(기본 30 000, 최대 120 000), since로 특정 식별자 이후의 메일만 받을 수 있습니다.
시간이 다 되도록 메일이 없으면 본문 없는 204를 반환합니다. 이는 오류가 아니라 «아무것도 오지 않았다»에 대한 정상 응답입니다.
curl -H "Authorization: Bearer $KEY" \ "https://inboxsink.com/v1/inboxes/42/wait?timeout=45000" → 200 { "message": { "id": "913", "from": "no-reply@acme.com", "subject": "…", "otp": "204815", "link": "https://acme.com/confirm/9f3a" } }
otp와 link는 이미 추출되어 있습니다. 코드는 메일이 실제로 코드를 알릴 때만 보고됩니다(«코드», «인증», «로그인» 등). 청구 금액이나 연도가 코드로 오인되는 일은 없습니다.
메일 목록
since와 limit을 받습니다(기본 50, 최대 200). 본문 없이 요약만 반환합니다.
메일 읽기
메일 전체: text, html, headers, 그리고 첨부 파일 목록.
편지함 삭제
편지함과 메일을 즉시 지웁니다. 204를 반환합니다.
오류
| 204 | 내용 없음 — wait에서는 시간이 다 되도록 메일이 없었음 |
| 400 | 잘못된 매개변수 |
| 401 | 키 없음, 알 수 없음, 또는 취소됨 |
| 403 | 그 편지함은 다른 키의 것입니다 |
| 404 | 편지함이나 메일이 없거나 이미 만료됨 |
| 429 | 호출이 너무 많습니다 |
제한과 수명
공개 풀의 편지함은 한 시간 동안 유지됩니다. API로 만든 것은 각자의 ttl_seconds를 따르며 최대 30일입니다. 기한이 지나면 편지함과 메일은 삭제되고, 나중에 꺼낼 보관함은 없습니다.
10메가바이트를 넘는 메일은 수신 단계에서 거부됩니다. 알 수 없는 도메인의 주소는 SMTP 세션 중에 거부되며 반송 메일을 만들지 않습니다.
이 편지함은 메일을 보낼 수 없습니다. 이는 의도한 것으로, 일회용 도메인에서 보낸 메일은 어디에도 도착하지 못하기 때문입니다.