Email SDK v1 is now available with new features that make it easier to send personalized transactional email and change email providers.
If you have not heard of it before, Email SDK is an open-source TypeScript SDK that supports more than 23 email adapters, including popular email services such as Resend, Postmark, SendGrid, Amazon SES, Mailgun, MailerSend, Brevo, Mailchimp, SparkPost, and SMTP.
Email SDK v1 new features
Email SDK v1 introduces three methods for sending email:
- send() for sending a single email.
- sendMany() for sending multiple emails in order.
- sendPersonalized() for sending personalized content to individual recipients.
If you send transactional emails such as welcome messages, invoices, password resets, or account notifications, the new sendPersonalized() method makes it simple to personalize emails.
The SDK also adds provider-native email scheduling. If your email provider supports scheduled delivery, you can send emails at a future date and time without building your own scheduling system.
Duplicate emails
Previously, if an email failed delivery, it could be difficult to tell whether the provider had already accepted it. Retrying the request sometimes resulted in duplicate emails being sent. Email SDK v1 now distinguishes between emails that were not sent and those with an unknown delivery status. If delivery cannot be confirmed, retries stop by default.
The update also introduces standardized error reporting across all supported email providers.
Easier to switch email providers
Email SDK v1 now makes it easier to change email providers later.
Instead of rewriting your email logic, you can replace the configured adapter while keeping the same message format.
Other improvements
Email SDK v1 also includes:
- Built-in retries and fallback routing.
- Better email validation before sending.
- Middleware and plugin support.
- Built-in routing and timeout plugins.
- Optional AI integrations for developer workflows.
- React email template rendering.
- CLI improvements for testing and setup.
- Anonymous telemetry with opt-out controls.
Upgrading or Migrating to Email SDK v1
If you already use Email SDK 0.x, this is a major upgrade. Several configuration options have changed, including:
- sendBatch() has been replaced with sendMany().
- Personalized sending now uses sendPersonalized().
- Idempotency keys have moved into send options.
- Retry settings now use maxAttempts.
