Email SDK
Plugins

Community plugins and adapters

Evaluate third-party Email SDK extensions without treating them as core-maintained integrations.

Community packages can register adapters, hooks, middleware, and typed client extensions through the public plugin contract.

SMTP2GO

adaptercommunity

Adds an SMTP2GO provider adapter for Email SDK.

email-sdk-smtp2go

Review before installing

Check the package source and release history for:

  • support for the current @opencoredev/email-sdk major
  • a literal adapter name and complete capability declaration
  • explicit validation for every normalized field the provider cannot represent
  • secret-safe errors, logs, and examples
  • tests for payload mapping, retries, aborts, idempotency, and ambiguous delivery
  • no browser credential exposure

A community adapter should return EmailSendResult and throw typed EmailAdapterError values with conservative delivery classification.

Install without changing the root client

src/email.ts
import { createEmailClient } from "@opencoredev/email-sdk";
import { acmePlugin } from "@example/email-sdk-acme";

const email = createEmailClient({
  plugins: [acmePlugin({ apiKey: process.env.ACME_API_KEY! })],
});

The plugin must register at least one adapter when the client has no adapters option.

Support boundary

The Email SDK maintainers do not verify third-party credentials, delivery claims, or account behavior. Report core contract defects to Email SDK and package-specific defects to the community maintainer.

Publish a community plugin

Package, test, and document a plugin for external users.

Publish a community adapter

Ship a provider route without adding it to core.

On this page