Starter
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose Starter- 5 brands · 3 seats
- 5 custom sending domains
- 500 email verifications/month
- $1.50 / 1,000 extra emails
Publish SPF, DKIM and DMARC for your sending domain, in that order, then check the headers of a real message. An agent can do most of the work, but a person approves each DNS change.
To authenticate your email you publish three DNS records, SPF, DKIM, and DMARC, that let receiving servers verify mail from your domain is genuine. It is the first job in any email deliverability effort, because filters weigh reputation against an identity they can verify, and email authentication is what supplies that identity. An AI agent can add the domain, hand you the exact records and verify them, but a person should approve every DNS change.
This page covers the setup steps, in order, for one sending domain. For what each record asserts, see what email authentication is.
Ask an agent to authenticate a domain, over MCP or in code, and it will draft all three records. Speed is not the risk. The risk is a record that looks right and breaks mail the domain already sends, such as a second SPF record, DMARC at p=reject on day one, or a DKIM key at the wrong host. Each one is covered in where it goes wrong below.
An agent should verify by reading public DNS for each host name, not by trusting the DNS host's screen, which shows a record as saved before receivers can see it.
mail.example.com an agent can write SPF, DKIM and DMARC and check alignment without touching everyday mail on the root domain. DMARC there can move to quarantine and then reject once reports show every legitimate sender aligned and DKIM-signed.Three records. SPF and DKIM can go in either order, but DMARC comes last because it checks the other two. If the roles of the authentication protocols are not yet clear, read those first, since the steps below assume you know what each record asserts.
| Record | Host | Who supplies the value | Starting value |
|---|---|---|---|
| SPF | The sending domain itself | You, from your list of sending sources | One v=spf1 record, ten DNS lookups at most |
| DKIM | selector._domainkey on the sending domain | Your sending provider | The public key the provider gives you |
| DMARC | _dmarc on the sending domain | You | p=none, with rua set to an inbox someone reads |
spf=pass, dkim=pass and dmarc=pass, since a pass without alignment still fails DMARC. A spam test email adds a content check on top.Both of these block mail even when every record is published:
The prompt: "Set up email authentication for mail.example.com so the app can send from it. Show me every DNS change before it goes live."
Before. Left unguided, an agent writes a new SPF record over the one already there, sets DMARC to p=reject, and reports success because the DNS host shows the records as saved.
After. With the Nitrosend MCP tools, the agent works through a fixed sequence:
nitro_get_status reads account readiness and the current sender identity, so the agent knows whether a sending domain already exists.nitro_manage_domains adds mail.example.com as a customer sending domain, and the agent lists the DNS records the person needs to publish.nitro_manage_domains verifies the domain. If one record fails, its diagnose action points to it, and the agent compares the record with what public DNS returns.nitro_configure_account sets an address on the verified domain as the default sender and keeps the person's own inbox as the test recipient.nitro_manage_template creates a short plain-text template to carry the header check.nitro_review_delivery validates the header-check template and runs its preflight. Nothing is sent at this step.nitro_send_test_message mails the template once to that inbox. The person opens the message headers and looks for spf=pass, dkim=pass and dmarc=pass in the Authentication-Results line.nitro_get_insights shows delivery trends once real mail flows.v=spf1 record instead of adding an include to the one already there. Receivers treat more than one SPF record on a host as a permanent error (RFC 7208, section 4.5), so the old sender and the new one both lose SPF. Merge every include into one record.selector._domainkey.example.com ends up with example.com added a second time, so receivers never find the key.rua=mailto: with a made-up or unwatched address. The reports that would show when it is safe to tighten never reach anyone, so the policy stays at p=none or gets tightened blind.Nitrosend auto-configures DKIM, SPF and DMARC for a sending domain, as its ChatGPT integration page notes.
A filtered password reset has no second send, so the transactional email path is where a failed record hurts first. Sending through an email API does not remove the DNS work either, since the records live on your domain and the provider only supplies the keys to publish.
Over MCP the same work is a tool call. nitro_manage_domains adds, verifies, diagnoses, lists and removes customer sending domains, so an agent can run the checks while a person approves the DNS changes. If a domain will not leave the verifying state, see a domain stuck verifying. For the sending side, see the transactional email API and email for Claude.
Publish three DNS records on your sending domain. Add one SPF record listing your sending sources, enable DKIM with your provider and publish its key, then add a DMARC record at p=none. Send one real test message and check that its headers show spf=pass, dkim=pass and dmarc=pass before tightening DMARC.
SPF and DKIM can go in either order, because neither depends on the other. DMARC comes third, since it checks that at least one of them passes and aligns with the From domain. Start DMARC at p=none, read the aggregate reports until every legitimate sender passes, then move to quarantine and, on a sending subdomain, reject.
Yes, for most of the work. Through nitro_manage_domains an agent can add the domain, return the exact records and verify them once they are published. A person should still approve each of the three DNS changes and check the headers of one real test message before any real mail goes out.
Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.
Every paid plan includes 3 agent inboxes and no Nitrosend footer.
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose StarterFor a growing audience.
$480 billed yearly.
60,000 emails / month
Choose ProFor teams and agencies.
$1,440 billed yearly.
200,000 emails / month
Choose GrowthFor high-volume sending.
$2,880 billed yearly.
500,000 emails / month
Choose ScaleSending 500,000+ emails a month? Get a custom plan designed for you, with volume email pricing and capacity that fits your business.
5,000 emails to start, then 500 emails every month. No expiry on your starter emails.
Daily allowances depend on your plan and sender standing. Strong list, domain and delivery evidence can raise standing, including on day one. Trusted receives the full plan allowance; available email credits, safety checks and delivery pacing still apply.
Free forever. No credit card required. See full comparison →