제품이 보내는 메일
호출부터 결과까지
앱이 메시지를 보내면 OpenEmail이 자사 도메인으로 발송합니다. 모든 호출은 그 호출을 만든 키에 기록되고, 발송마다 읽을 수 있는 결과가 남습니다.
호출은 메시지 ID를 돌려줍니다. 엔드포인트가 받는 모든 이벤트에 같은 ID가 붙습니다.
출발점
지금은 이런 모습입니다.
메일이 코드에서 나갑니다
영수증, 가입 코드, 비밀번호 재설정 메일은 사람이 쓰는 것이 아니라 백엔드가 보냅니다.
보낸 뒤에 돌아오는 것이 없습니다
고객은 코드가 오지 않았다고 하는데, 대조해 볼 배달 기록이 없습니다.
공용 키 하나, 호출 기록은 없음
모든 서비스가 같은 비밀 키로 보내고, 어떤 호출이 언제 실패했는지 보여 주는 것이 없습니다.
작동 방식
네 단계면 돌아갑니다.
- 01
도메인 확인
설정에 표시된 레코드를 게시하면, 맞아떨어지는 순간 도메인이 초록색으로 바뀝니다.
- 02
범위를 정한 키 발급
키가 보낼 수 있는 주소와 도메인을 한정하고, 역할로 닿을 수 있는 범위를 제한하세요.
- 03
메시지 전송 요청
호출 한 번에 템플릿, 값, 받는 사람을 지정하고, 재시도해도 두 번 발송되지 않습니다.
- 04
웹훅 받고 로그 읽기
엔드포인트는 메시지 id로 모든 이벤트를 받고, 로그에는 배달됨, 반송됨, 실패가 표시됩니다.
바탕이 되는 기능
일을 해내는 구성 요소.
문서화된 API와 범위를 정할 수 있는 키, 타입이 있는 SDK, 엔드포인트로 가는 웹훅, 버전이 있는 템플릿, 그리고 발송 도메인을 뒷받침하는 레코드 위에서 돌아갑니다.
발급하고, 범위를 정하고, 폐기할 수 있는 키를 갖춘 문서화된 HTTP API.
TypeScript 클라이언트를 먼저, 나머지는 그다음.
폴링하게 두지 않고, 메일이 도착하면 엔드포인트에 알립니다.
실제 활용
구성 요소별로 하나씩.
짧은 페이지 네 개가 그 경로를 따라갑니다. 코드에서 보내기, 호출 로그 읽기, 보낸 뒤에 일어난 일, 그리고 아직 준비 중인 테스트 실행 중의 메일.
영수증, 인증 코드, 재설정 링크를 내 코드로 보내고, 도착하면 알림을 받으세요.
키가 한 모든 호출과 보낸 모든 웹훅을, 코드와 소요 시간과 함께.
테스트 실행마다 전용 주소를 주고, 받은 메일을 읽으세요.
질문
가입 전에 자주 묻는 것.
재시도할 때 같은 메일이 두 번 가지 않는 이유는 무엇인가요?
호출 한 번에 템플릿, 값, 받는 사람이 지정되고, 그 호출을 재시도해도 두 번 발송되지 않습니다. 호출은 메시지 id로 응답하며, 엔드포인트가 받는 모든 이벤트에 같은 id가 담깁니다.
보낸 뒤에 무슨 일이 있었는지 볼 수 있나요?
네. 발송마다 배달됨, 반송됨, 신고됨, 실패로 표시되고 날짜, 출처, 발송 주소별로 볼 수 있습니다. 요청 로그에는 키가 만든 모든 호출의 메서드, 경로, 상태 코드, 소요 시간이 남습니다.
제가 쓰는 언어용 SDK가 있나요?
대부분은 아직 없습니다. 타입이 있는 클라이언트는 TypeScript가 먼저이고 나머지는 그 뒤를 따르므로, 지금은 다른 언어에서 문서화된 HTTP API를 직접 호출합니다.
관련 사례
같은 메일함으로 할 수 있는 다른 일.
티켓, 항목, 고객마다 자기 주소를 가질 수 있습니다. 그 주소로 온 메일은 서명된 이벤트로 엔드포인트에 도착하고, 코드가 그 주소로 답합니다.
에이전트에게 자기 주소와, 할 수 있는 일만큼 범위를 정한 키를 주세요. 읽고, 라벨을 붙이고, 초안을 쓰고, 보내며, 하는 호출은 모두 기록됩니다.