Migration from Amazon SES

If you send transactional mail through Amazon SES (SDK, SMTP, or a thin API on top of SES), you can move the application-facing send path to Groundmail while keeping the same jobs: auth mail, receipts, alerts, and notifications.


What changes

SES-oriented setup Groundmail
AWS credentials / IAM gm_... API key
Regional SES endpoint https://api.groundmail.dev
SendEmail / SendRawEmail POST /emails
SES-verified identity Groundmail verified domain
Configuration sets / event destinations Webhooks + dashboard activity
Shared SES IP pools (typical) Pool (owned transactional network) or Dedicated (managed servers + IPs)

Groundmail runs on owned mail infrastructure, not as a reseller of SES. That matters when you care who else shares the pipe — and when you later need Dedicated isolation.


Minimal send

curl -X POST https://api.groundmail.dev/emails \
  -H "Authorization: Bearer $GROUNDMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": "user@example.com",
    "subject": "Hello",
    "html": "<p>It works.</p>"
  }'
import { Groundmail } from 'groundmail'

const client = new Groundmail(process.env.GROUNDMAIL_API_KEY)
await client.emails.send({
  from: 'you@yourdomain.com',
  to: 'user@example.com',
  subject: 'Hello',
  html: '<p>It works.</p>',
})

Migration checklist

  1. Sign up at app.groundmail.dev and create an API key
  2. Verify your sending domain (Domains) — SPF, DKIM, return path
  3. Replace SES SDK calls with Groundmail HTTP or the groundmail npm package
  4. Map bodies: HTML → html, text → text, reply addresses → reply_to
  5. Point bounce/complaint/delivery handling at Groundmail webhooks
  6. Run parallel canary sends, then shift production traffic

Sandbox vs production

  • Sandbox: send from noreply@mail.groundmail.dev to your account email only while integrating
  • Free production: verified domain and a payment method on file (no charge until you upgrade) — 3,000 emails/mo · 100/day · 1 domain on the shared transactional network (Pool)
  • Pro (from $20/mo): from 50,000 emails/mo · up to 10 domains · declining overage by tier
  • Scale: higher volume tiers with declining overage (up to 1,000 domains)
  • Dedicated (from $299/mo): managed server and IPs when you need isolation

See Pricing and Quickstart.


SMTP

SES SMTP users can move to Groundmail SMTP relay: host smtp.groundmail.dev, port 587 (STARTTLS), username groundmail, password from a dashboard SMTP credential (gmsmtp_…). Same verified domains, plan limits, and suppressions as the HTTP API. Prefer POST /emails for new app code; use SMTP when the integration only exposes an SMTP form. Details: SMTP.