ZapSMTP / Documentation

A place to start.

Connect your domain, choose API or SMTP, then test the events your application needs.

Connect your sending domain

Add your domain in the dashboard and publish the DNS records it provides. Verify SPF, DKIM, and DMARC before sending. Keep a single valid SPF record for each hostname.

Inspect your current DNS

Send through the Email API

Create a server-side API key. Use the API endpoint supplied with your account; direct requests use POST /v1/emails. Keep your key in an environment variable and send it as a Bearer token.

A send request contains from, to, subject, and html or text. Verify your sending domain before using it in the From address.

{
  "from": "Your product <hello@yourdomain.com>",
  "to": [
    "alex@example.com"
  ],
  "subject": "Good to have you here.",
  "html": "<p>Your workspace is ready.</p>"
}

Use a test key while integrating. Batch requests support up to 100 emails, and idempotency keys let you retry safely.

Prefer the Resend Node SDK? See the SDK configuration guide.

Explore API capabilities

Connect an existing mailer

Create separate SMTP credentials for each application or environment. Use the SMTP hostname shown in your dashboard.

SettingValue
STARTTLSPort 587 or 2525
TLSPort 465
AuthenticationPLAIN or LOGIN
Username / passwordYour dashboard-issued SMTP credentials

Exercise the failure paths

Test keys (zap_test_…) run the full pipeline without delivering to real recipients. The simulator supports delivered, bounced, mailbox full, blocked, delayed, complained, suppressed, and a bounce with a specific SMTP code.

The examples on this website simulate events locally. They do not send requests to your account.

Explore test scenarios

Verify events in your backend

Create a webhook endpoint and verify the signature against the original request body using your endpoint’s signing secret. Keep processing idempotent so a retried event does not repeat an action.

Inspect every delivery attempt, replay events when needed, and rotate signing secrets without downtime.

Read about webhooks