Send email.
Switch providers.

An open-source TypeScript SDK for transactional email.24 adapters. One typed SDK.

Write one email.
Send it through any adapter.

src/email.tsTypeScript
import { createEmailClient } from '@opencoredev/email-sdk'const email = createEmailClient({ adapters: [resend] })await email.send({from: 'hello@acme.dev',to: 'ada@example.com',subject: 'Welcome',text: 'Hi Ada, your account is ready.',})
const email = createEmailClient({
  adapters: [resend],
})
await email.send({
  subject: 'Welcome',
  text: 'Hi Ada, your account is ready.',
})
Gmailnow

Welcome

Hi Ada, your account is ready.

Delivery safety

Retry confirmed failures. Stop when delivery is unknown.

Email SDK only tries a fallback when it knows the first attempt did not send.

The provider did not sendTry the fallback.
Delivery is unclearReturn the error.
The provider accepted itReturn the receipt.

Adapters

Use the provider account you already have. Your send calls stay the same.

Explore all 24 →

Switch providers without rewriting your send code.

Use the provider account and API key you already have.

Check your configuration before a live send.

The CLI finds missing environment variables without calling the provider.

$ email-sdk doctor --adapter resendresend looks configured.No provider request made.