Land in the inbox
Get your mail into the inbox, not the spam folder — and keep it there.
Two things decide whether your mail reaches the inbox: authentication, which lets a receiver prove the message is really from you, and reputation, the trust receivers build in your domain over time. Dairo handles authentication when you verify a domain, and guards you against the signal that damages reputation fastest. Building the rest of that trust is up to you.
Authentication is handled for you
When you verify a domain, Dairo generates the full authentication record set and hands it to you to publish. Once the records resolve, every message you send is cryptographically signed and aligned with your domain, so receivers can confirm it wasn't forged or altered in transit.
| Standard | Records you publish | What receivers check |
|---|---|---|
| DKIM | Three CNAME records | A cryptographic signature on each message, verified against a public key in your DNS. |
| SPF | MX + TXT on mail | That the envelope sender aligns with your domain and Dairo is authorized to send for you. |
| DMARC | TXT on _dmarc | Your policy for mail that fails DKIM or SPF alignment, and where to send reports. |
Tighten DMARC over time
The DMARC record Dairo returns starts in monitor-only mode:
v=DMARC1; p=none; rua=mailto:postmaster@yourapp.com. Publish it as is, collect
reports, and tighten the policy once they show clean authentication.
| Policy | Effect | When to use it |
|---|---|---|
p=none | Monitor only; collect reports. | Start here. |
p=quarantine | Failing mail goes to spam. | After reports show clean authentication. |
p=reject | Failing mail is rejected outright. | Once you're confident. |
Bounces and complaints
Two delivery events move reputation the wrong way:
- Bounce (
message.bounced) — delivery failed. APermanentbounce means the address is undeliverable: stop sending to it. ATransientbounce (full mailbox, temporary server issue) may succeed on a later attempt. - Complaint (
message.complained) — the recipient marked your message as spam. This is the single most damaging signal there is.
Read the delivery events for one message with
GET /v1/messages/{messageId}/events (scope messages:read):
Track delivery documents the full event surface — lifecycle statuses, every event field, and bounce classifications. To react the moment a bounce or complaint happens, push events to your app with webhooks.
Complaints and hard bounces become suppressions
When a recipient complains, or an address bounces Permanent, Dairo records a
suppression for that address on your account. From then on, any email you send
to that address — API, SDK, CLI, or MCP — is refused with a 400, so one bad
signal can't snowball into a blocklisted domain:
Scheduled sends are re-validated when they fire, so a suppression recorded after you schedule still blocks the send.
Override a suppression deliberately
If a human decides the recipient should be contacted anyway, set
ignoreComplaints: true on the send (or --ignore-complaints in the CLI). The
send proceeds, and the response carries a warnings array naming each
suppressed recipient:
Overriding a suppression is a deliberate, human decision — never a default in automation. Emailing people who marked your mail as spam will get your domain blocklisted regardless of intent.
A hard-bounce suppression carries reason: "bounce" and the receiving server's
diagnosticCode. Transient bounces (a full mailbox, a server outage) never
suppress an address.
Reputation is built by you
Authentication is necessary but not sufficient. A brand-new domain has no history, so even perfectly authenticated mail can land in spam at first.
- Warm up gradually. Ramp volume over days and weeks so mailbox providers learn your domain sends wanted mail. Your mail rides Dairo's shared, actively monitored sending IPs, so there is no IP warmup to manage — only your domain's reputation to build.
- Send to people who want it. Opens, replies, and "not spam" actions are the strongest positive signals. Prune recipients who never engage.
- Keep the bad signals low. High complaint or hard-bounce rates erase
reputation fast. Honor suppressions and drop addresses that bounce
Permanent. - Mind your content. Spammy phrasing, link-heavy bodies, and misleading subjects trip content filters. Plain, relevant content lands better on a cold domain.
For an AI agent that sends on its own, see Send limits & reputation to gate its sends on recent bounce and complaint signals.
Next steps
- Send an email — start sending from your verified domain.
- API reference — full schemas for messages, events, and domains.