설치
패키지 하나, 의존성 없음, 모든 서버 런타임.
설치
첫 릴리스는 0.0.1입니다. 문서화된 모든 작업에는 대응하는 메서드가 있고, 하나라도 빠지면 패키지의 패리티 검사가 빌드를 실패시키며, 이 패키지가 감싸는 API는 모든 환경에서 켜져 있습니다.
pnpm add @openemail/sdkimport { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({ from: 'Acme Billing <[email protected]>', to: '[email protected]', subject: 'Your September invoice', html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)init은 공유 openemail 클라이언트를 한 번 구성하며, 그 뒤로 openemail을 import하는 모든 모듈이 그 클라이언트를 받습니다. 생략하면 첫 호출이 대신 OPENEMAIL_API_KEY로 클라이언트를 만듭니다.
send()가 resolve되었다고 해서 메시지가 나간 것은 아닙니다. 예약 발송이나 취소 가능한 발송은 queued 또는 scheduled로 돌아온 뒤 나중에 확정됩니다. 프로미스가 resolve되었다는 사실이 아니라 status를 읽으십시오.
실행 환경
런타임 의존성이 전혀 없으며 Node 20+, Bun, Deno, Cloudflare Workers에서 동작합니다. 전역 fetch 외에는 아무것도 사용하지 않으며, 직접 만든 것을 넘겨줄 수도 있습니다.
ESM과 CommonJS를 모두 제공하며 각각 전용 타입 선언이 함께 들어 있으므로, import { openemail } from '@openemail/sdk'와 const { openemail } = require('@openemail/sdk')가 모두 동작합니다.
브라우저에서는 동작하지 않습니다. 클라이언트는 메일을 보내고 메일함을 읽을 수 있는 워크스페이스 API 키를 들고 있으므로, window와 document가 존재하는 환경에서는 시작을 거부합니다. 일회용 수신함만 예외입니다. createTempMail()은 키가 필요 없고 페이지 안에서 실행됩니다.
이 패키지는 **TypeScript/JavaScript** 클라이언트이며, Python, Go, PHP, Ruby용 패키지는 없습니다. 다른 언어에서 보면 이 API는 평범한 HTTP와 JSON입니다. 퀵스타트에 여덟 개 언어로 동작하는 요청 예제가 있고, 나머지 대부분의 언어는 OpenAPI 문서로 클라이언트를 생성할 수 있습니다.