Features
Next

Emails

Configure sending providers and email delivery flow.

What It Does

Email sending uses @kit/emailer; templating uses @kit/email-templates.

When To Use

  • Sending transactional emails.
  • Wiring auth email hooks and product notifications.

Prerequisites

  • Sender domain and SMTP/API credentials.

Available Providers

The @kit/emailer package currently includes these provider implementations:

ProviderImplementationMain env var
Nodemailer (SMTP / sendmail fallback)kit/email/emailer/src/nodemailer/index.tsEMAIL_NODEMAILER_URL
Postmarkkit/email/emailer/src/postmark/index.tsEMAIL_POSTMARK_SERVER_TOKEN
Resendkit/email/emailer/src/resend/index.tsEMAIL_RESEND_API_KEY
SendGridkit/email/emailer/src/sendgrid/index.tsEMAIL_SENDGRID_API_KEY

How To Use

Provider exports

kit/email/emailer/src/index.ts exports the active provider implementation (Nodemailer by default).

Required env vars

EMAIL_FROM="Your App <sender@your-domain.com>"
SUPPORT_EMAIL="support@your-domain.com"
EMAIL_NODEMAILER_URL="smtp://..."
# or provider-specific key variables

Send email

import { EmailProvider } from '@kit/emailer';
import { renderWelcomeEmail } from '@kit/email-templates';
 
const { html, subject } = await renderWelcomeEmail({
  appConfig,
  name: 'Jane',
});
 
await EmailProvider.sendEmail({
  to: 'jane@example.com',
  from: process.env.EMAIL_FROM!,
  subject,
  html,
});

MCP Context

capability: email_sending
entrypoints:
  - kit/email/emailer/src/index.ts
  - kit/email/email-templates/src/index.ts
inputs:
  - provider_credentials
  - template_props
outputs:
  - delivered_transactional_email
constraints:
  - provider export must match configured credentials
side_effects:
  - external email delivery

Agent Recipe

  1. Pick provider and set credentials.
  2. Render template from @kit/email-templates.
  3. Send via EmailProvider.sendEmail.

Troubleshooting

  • Provider auth errors usually indicate wrong credentials or sender domain issues.
  • If email format is broken, validate template props.

How is this guide?

Last updated on 3/23/2026