emdash-smtp is a production-oriented email delivery plugin family for EmDash split into two install targets:
emdash-smtp— trusted/npm install for full provider parity, including generic SMTP and local sendmailemdash-smtp-marketplace— marketplace-safe companion package for the same EmDash SMTP product
Both distributions identify as the same EmDash plugin: emdash-smtp.
Legacy package names under
@masonjames/*are deprecated. Use the unscoped package names in this README.
Use the trusted package when you control the codebase and want the full provider set.
pnpm add emdash-smtpimport { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { emdashSmtp } from "emdash-smtp";
export default defineConfig({
integrations: [
emdash({
plugins: [emdashSmtp()],
}),
],
});Use the marketplace companion when you need the EmDash marketplace flow or a sandbox-safe descriptor:
pnpm add emdash-smtp-marketplaceimport { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { emdashSmtpMarketplace } from "emdash-smtp-marketplace";
export default defineConfig({
integrations: [
emdash({
sandboxRunner: "@emdash-cms/cloudflare/sandbox",
sandboxed: [emdashSmtpMarketplace()],
}),
],
});The marketplace release stays on the official EmDash CLI path:
pnpm validate:marketplace
pnpm bundle:marketplace
pnpm publish:marketplaceThat wrapper resolves the EmDash CLI and ultimately runs emdash plugin publish --build for packages/emdash-smtp-marketplace.
The current provider catalog includes:
- Amazon SES
- Brevo
- Elastic Email
- Emailit
- Generic SMTP
- Google / Gmail
- Mailchimp Transactional
- MailerSend
- Mailgun
- Mailjet
- Microsoft
- PHP Mail analogue / local sendmail
- Postmark
- Resend
- SendGrid
- SMTP2GO
- SparkPost
- Zoho
See docs/PROVIDER-MATRIX.md for trusted vs marketplace availability.
OAuth-backed providers (Google / Gmail, Microsoft 365 / Outlook, and Zoho Mail) support either a direct access token or a client credential + refresh token set. When refresh credentials are present, EmDash SMTP refreshes access tokens during delivery instead of requiring manual token rotation.
Supported install targets:
packages/emdash-smtp— trusted EmDash plugin packagepackages/emdash-smtp-marketplace— marketplace-safe EmDash plugin package
Implementation packages published to satisfy dependency resolution:
packages/core— shared provider catalog, settings storage, Block Kit admin builders, delivery engine used by both public packagespackages/node-transports— trusted-only SMTP/sendmail adapters used byemdash-smtp
Documentation and runbooks:
docs/— PRD, architecture notes, provider matrix, install/publish runbooks
pnpm install
pnpm typecheck
pnpm test
pnpm buildRun the full verification pass:
pnpm release:checkDry-run npm publication in package order:
pnpm publish:npm -- --dry-runPublish the npm packages:
pnpm publish:npmDeprecate the legacy scoped package names:
pnpm deprecate:legacyPublish the marketplace build:
pnpm publish:marketplaceThis repo is structured for:
- unscoped npm publication
- trusted EmDash installation from npm via
astro.config.mjs - marketplace publication of the sandbox-safe companion via
emdash plugin publish - CI validation for build, typecheck, tests, marketplace validation, and marketplace bundling