Groundmail

Features

We protect your sending reputation

Your mail shares IPs with other senders until you move to your own, so we check what goes out, stop mail to addresses that can't receive it, and keep product email apart from the codes and receipts your users are waiting for.

Before mail leaves

Checks on every send

Most deliverability problems start with what gets sent. These run on every account, with nothing to set up.

Outbound spam scanning

Every email is scored for spam before it leaves our mail servers. Obvious spam is rejected and never sent. On accounts new to sending, borderline mail is held for a person to review.

Address validation on send

Recipients that can't receive mail are held back before they bounce: impossible addresses, domains with no mail server, and mailboxes known not to exist.

Shared knowledge of bad addresses

An address that hard-bounced for any Groundmail sender in the last 90 days is held back for you too. An account owner can turn the cross-sender checks off.

Automatic suppressions

Hard bounces, complaints and unsubscribes go on your suppression list, and later sends to them are refused, so one bad address can't keep hurting you.

A sending ramp for new accounts

New paid accounts start at 1,000 product and 3,000 transactional recipients a day, doubling as you send clean mail. About a week takes a clean sender to 64,000.

Pauses before damage spreads

Repeated holds, or high bounce or complaint rates, pause sending while we look. With tenants, we pause the one customer, not your account.

Held and rejected mail, and the scoring limits, are described in the content scanning docs. The ramp is in sending limits.

Validation

Check an address before you accept it

POST /validate checks one address for signup forms and imports: syntax, a mail server on the domain, disposable and role mailboxes, catch-all domains, likely typos with a suggested fix, and addresses that recently hard-bounced for a Groundmail sender.

  • A verdict of valid, risky or invalid, with every reason found
  • Free, and never sends anything to the address
  • In the SDKs, the CLI and the MCP server too
  • On send, the response lists any recipient held back and why

POST /validate

curl -X POST https://api.groundmail.dev/validate \
  -H "Authorization: Bearer $GROUNDMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@gmial.com"}'

{
  "email": "ada@gmial.com",
  "domain": "gmial.com",
  "verdict": "risky",
  "reasons": ["possible_typo"],
  "suggestion": "ada@gmail.com",
  "disposable": false,
  "role": false
}

A send with a recipient held back

{
  "id": "msg_abc123…",
  "status": "sent",
  "held_back": [
    { "email": "ada@no-mail.example", "reason": "no_mail_server" }
  ]
}

Streams

Product email never shares IPs with your login codes

Every email goes out on a stream picked by its category. Transactional is the default; product covers onboarding, lifecycle and usage email. Each stream has its own sending IPs and its own bounce and complaint rates.

  • Set category on the send, the template or the automation step
  • If product email draws complaints, product can be paused while transactional keeps sending
  • Product email gets one-click unsubscribe headers (List-Unsubscribe and List-Unsubscribe-Post) automatically
  • Unsubscribing from product email doesn't block transactional mail

A product email

{
  "from": "Acme <hello@mail.acme.com>",
  "to": "jane@example.com",
  "subject": "Three tips for your first week",
  "html": "<p>…</p>",
  "category": "product"
}

Authentication and monitoring

The records mailbox providers check

Gmail, Yahoo and Microsoft expect authenticated mail, aligned domains, low complaint rates and easy unsubscribes for subscribed mail. Here is what we handle for you.

SPF and DKIM on verify

Verifying a domain gives you SPF and DKIM records to publish, with DMARC guidance. Connect Cloudflare, Vercel or GoDaddy and we publish them for you.

Free DMARC monitoring

We read the daily DMARC reports for your domain and show who sends as it, pass rates per source, and when it's safe to move from p=none to p=quarantine. A weekly digest comes by email.

BIMI guidance

Domain checks report your BIMI record and what it needs. Mailbox providers expect DMARC enforcement before they show a BIMI logo.

DMARC monitoring is free on every plan, and also for domains that don't send through Groundmail. Setup is in the DMARC monitoring docs, and the sender requirements guide covers the mailbox providers' rules.

Our side

IPs we run, and isolation when you need it

We operate the mail servers and the IP space your mail leaves from, so reputation is our job every day.

A transactional-only pool

No newsletters, marketing or cold email on our IPs, at any price. The mail next to yours is mail people asked for.

Blocklist checks on our IPs

We check our sending IPs against blocklists every day, and our deliverability team is alerted to listings and to blocks on our IPs.

Dedicated IPs

$50/mo per IP, with managed warmup and optional reverse DNS on your domain. They run on Scale; the first IP is included from 500,000 emails a month. Any plan can request one.

Platforms can give a single customer its own IP with tenants. For full isolation, a dedicated server starts at $299/mo. See pricing.

Inbound too

Spam scores on mail you receive

Every email received on an inbound domain carries a spam_score and a spam_status of clean, suspicious or spam. Set a threshold per domain to flag or drop spam before your handler sees it. More on inbound email.

FAQ

Common questions

What happens if my email looks like spam?

Every email is scored before it leaves our mail servers. Obvious spam is rejected and never sent: you get status failed, an email.failed webhook and the reason in bounce_reason, and the recipient is not suppressed. On accounts new to sending, a borderline email is held for review instead, with status held and an email.held webhook; released email goes out as usual. The limits are published in the content scanning docs.

Does address validation cost extra?

No. The checks on every send and POST /validate are both free on every plan. Validation never sends anything to the address.

Why does a new account have a daily limit?

Mailbox providers judge new volume by its history, and our IPs are shared, so a sudden large send from an account with no history can hurt delivery for everyone on them, you included. Paid accounts start at 1,000 product and 3,000 transactional recipients a day, and the limit doubles each day you use at least half of it with low bounces and complaints. If you're moving an existing sender over, email support@groundmail.dev.

Can I get a dedicated IP?

Yes, for $50 per IP per month. Dedicated IPs run on Scale plans (100,000+ emails a month), and the first IP is included from 500,000. Any plan can request one from the billing page: we set up the right plan with you, and billing starts when the IP goes live.

Can I send newsletters or marketing email?

No. Our IPs carry transactional and product email only, so the mail next to yours is mail people asked for. A send with category newsletter is refused.

Put your transactional email on solid ground.

Start free on our transactional pool. Move to dedicated IPs or a dedicated server when you need the isolation. Same API either way.