IP 위치 정보 API

Ip2Geo는 사용량 알림과 결제 메일을OpenEmail로 보냅니다.

Ip2Geo는 API 호출 한 번으로 IP 주소를 위치 데이터로 바꿉니다. 15가지 이메일이 OpenEmail로 나가며, 대부분은 발송의 계기가 된 이벤트로 만든 멱등성 키를 달고 있어 재시도해도 사본이 발송되지 않습니다.

libs/openemail/SendBatchEmails.ts
const chunkSuffix = `-${chunkNumber}`const chunkLimit = OPENEMAIL_IDEMPOTENCY_KEY_MAX_LENGTH - chunkSuffix.lengthconst chunkKey = idempotencyKey  ? `${idempotencyKey.slice(0, chunkLimit)}${chunkSuffix}`  : undefined const data = await OpenEmail.emails.sendBatch(  rendered,  chunkKey ? { idempotencyKey: chunkKey } : undefined,)

배치는 한 번에 이메일 100통씩 나갑니다. 각 묶음은 이벤트에서 도출한 고유 멱등성 키를 받으므로, 재시도된 묶음이 두 번 발송되는 일은 없습니다.

15

이메일 종류, 각각 전용 템플릿 사용

12

그중 이벤트로 만든 멱등성 키로 발송하는 종류

2026년 9월

OpenEmail을 쓰기 시작한 달

OpenEmail을 거치는 일

Ip2Geo에서 OpenEmail로
처리하는 일.

  • 로그인 코드10분 뒤 만료되는 일회용 코드로, 새 코드는 1분에 한 번까지만 발급됩니다.
  • 사용량 알림요금제 조회 한도의 80%와 90%에서 경고를, 한도에 도달하면 안내를 보냅니다.
  • 마일스톤조회 수가 1,000, 10,000, 100,000, 500,000, 100만 회에 이르면 팀 전체에 알립니다.
  • 팀 및 키 활동초대, 새 멤버, 그리고 API 키가 생성, 교체 또는 삭제될 때 소유자와 관리자에게 보내는 알림.
  • 결제인보이스 링크가 담긴 결제 영수증, 갱신, 요금제 변경, 결제 실패, 해지.
  • 문의 양식웹사이트 문의 양식으로 들어온 메시지로, 방문자가 회신 주소로 설정됩니다.

만든 방법

Ip2Geo에서
이렇게 구성했습니다.

  1. 01

    모든 템플릿 렌더링

    Ip2Geo의 React Email 템플릿 15개는 발송할 때마다 먼저 HTML과 일반 텍스트로 렌더링됩니다.

  2. 02

    모든 이메일에 태그

    모든 이메일에는 템플릿 태그가, 대부분에는 소속 프로젝트 태그도 붙어 나중에 발송 내역을 필터링할 수 있습니다.

  3. 03

    모든 이벤트에 키

    12가지 이메일이 프로젝트, 임계값, 청구 기간처럼 이벤트로 만든 멱등성 키를 답니다.

  4. 04

    100통씩 배치 발송

    팀 전체에 보내는 이메일은 emails.sendBatch로 한 번에 100통씩 나가고, 실패는 수신자별로 돌아옵니다.

사용 중인 기능

OpenEmail의 기능 중
Ip2Geo에서 믿고 쓰는 것.

이메일 API

호출 한 번에 한 통이든 백 통이든, 지금이든 나중이든 보내고, 재시도해도 두 번 보내지 않습니다.

타입이 있는 SDK

TypeScript, Python, Ruby 클라이언트, 모든 작업마다 메서드 하나.

/threads?query=invoice
{ "threads": 12 }
사람이 쥐고 있든 프로그램이 쥐고 있든 같은 사서함.
API 키

작업마다 키 하나, 필요한 범위와 발신자로만 제한하고 모든 호출을 기록합니다.

여러 도메인

여러 도메인을 하나의 받은편지함으로, 서브도메인까지.

acme.comacme.devteam.acme.comhey.acme.io

질문

자주 묻는 질문,
Ip2Geo 및 OpenEmail에 대해.

키를 발급하세요.
무언가 보내세요.

무료 요금제를 포함한 모든 요금제에서 API, MCP, SDK를 모두 이용할 수 있습니다.