Skip to main content

Overview

Sendi can receive incoming emails on your domains. Emails are parsed, stored, and made available via the API and dashboard. You can also get notified via webhooks when new emails arrive.

How It Works

  1. Enable inbound on a domain in the dashboard
  2. Add an MX record to your DNS (subdomain or root)
  3. Incoming emails are received by AWS SES, stored in S3, and parsed
  4. Emails appear in the Inbound tab of your dashboard
  5. A email.received webhook is fired if you have one configured

Subdomain vs Root

When enabling inbound, you choose where to receive emails:
OptionExample AddressUse When
Subdomain (recommended)hello@in.yourdomain.comYou already use email on the root domain (Zoho, Gmail, etc.)
Root domainhello@yourdomain.comYou don’t have existing email on this domain
Using a subdomain is recommended because it won’t interfere with your existing email provider.

DNS Setup

After enabling inbound, add this MX record at your DNS provider:
TypeNameValueTTL
MXin (or @ for root)10 inbound-smtp.us-east-2.amazonaws.com.3600
Replace in with whatever subdomain you chose during setup.

Webhook Event

When an email is received, Sendi fires a email.received webhook:
{
  "event": "email.received",
  "email_id": "550e8400-e29b-41d4-a716-446655440000",
  "from": "sender@example.com",
  "to": ["hello@in.yourdomain.com"],
  "subject": "Hello!",
  "timestamp": "2026-03-07T12:00:00Z"
}

Security Verdicts

Each inbound email includes security verdicts from AWS SES:
VerdictDescription
spf_verdictSPF authentication result
dkim_verdictDKIM authentication result
dmarc_verdictDMARC policy result
spam_verdictSpam detection result
virus_verdictVirus scan result
Values are PASS, FAIL, or NONE.

Attachments

Attachments are stored separately and accessible via presigned download URLs returned by the API. URLs expire after 1 hour.

Limits

PlanInbound Email
FreeNot available
Pro500/day