Notix
Learn

Four DNS records, and a domain that receivers trust.

SPF says which servers may send for your domain, DKIM signs each message so it cannot be altered, and DMARC tells receivers what to do when the first two fail. Setting them up is four records in your DNS provider, or one click where your provider supports Domain Connect. This page shows the records exactly as the Notix dashboard asks for them, what each one proves, and the handful of mistakes that keep a domain unverified.

What each record proves.

SPF is a TXT record that lists the servers allowed to send mail whose return path is your domain. A receiver reads the return-path domain from the envelope, fetches its SPF record and checks that the connecting server is on the list. It proves the message came from somewhere you authorised; it says nothing about whether the content is intact. The record has a hard limit of ten DNS lookups, which is easy to exceed once several services are included. The SPF page covers the syntax, the lookup limit and how to stay under it.

DKIM is a signature. The sending service signs selected headers and the body with a private key and adds the signature as a header; the matching public key is published in DNS at selector._domainkey.yourdomain. A receiver fetches the key named by the selector and checks the signature, which proves the message was not altered in transit and was signed by someone holding your key. Each service that sends for you gets its own selector, so keys never collide. The DKIM page explains selectors, key rotation and what a failed signature looks like.

DMARC ties the two together. It is a TXT record at _dmarc.yourdomain that tells receivers what to do when a message fails both SPF and DKIM, or passes one without the passing identity matching the visible from domain, which is called alignment. The policy is none (deliver and report), quarantine (spam folder) or reject. It also names an address for aggregate reports, which is how you find out what is sending as you. The DMARC page has example records for each policy and how to read the reports.

The records

What the Notix dashboard asks you to add.

When you add example.com as a sending domain, the domain page lists these four records with your own key and region filled in, and shows each name both relative to the zone and in full. Add the first three; the fourth is recommended.

TypeHostValueWhat it proves
TXTnotix._domainkey.example.comp=<the public key the dashboard shows>DKIM. Receivers fetch this key at the selector and check the signature on each message.
TXTmail.example.comv=spf1 include:amazonses.com ~allSPF for the mail-from subdomain. Lists the servers allowed to send with that return path.
MXmail.example.com10 feedback-smtp.<region>.amazonses.comBounce routing for the mail-from subdomain, so failures come back to the sending stack rather than to nowhere.
TXT_dmarc.example.comv=DMARC1; p=none;DMARC. Recommended, not required for verification. Tells receivers what to do when SPF and DKIM both fail, and where to send reports.

Three details are worth knowing. The SPF record and the MX sit on mail.example.com, not on the root, because Notix sets the return path of every message to that subdomain: your root domain’s SPF record stays untouched, and the subdomain aligns with your domain for DMARC. The DKIM selector is notix unless the domain was created with another one, so the key lives at notix._domainkey and never overwrites a key another service publishes. And the include in the SPF record names the transport Notix delivers through; as with any service built on a sending engine, that is the layer publishing its engine’s servers as authorised for your return path, and it is the whole of what you need to know about it to set the record. If you added the domain under a subdomain, say app.example.com, the same records appear with .app in the host, and the DMARC record stays at the root.

The one-click path: Domain Connect.

Domain Connect is an open protocol between services that need DNS records and the providers that host DNS. A provider that supports it publishes a _domainconnect TXT record on each zone and keeps a catalogue of service templates; a service that supports it hands the provider a signed link, the provider shows you the records it is about to write, and you approve them in one click.

Notix does the discovery when you add a domain. It walks up from the domain to the zone that holds it, looks for the _domainconnect record, asks the provider whether the Notix template is available there, and if it is, the domain page offers a “Set up automatically at” button naming your provider, beside the records table. The link is signed and expires after fifteen minutes; it opens your provider’s confirmation screen and brings you back to Notix once the records are written. Verification then runs as it would for records you typed. If the zone has no _domainconnect record, or the provider has not synced the template, the page shows the manual records and says nothing about Domain Connect; there is no degraded half-automatic mode.

Verification, and how long it takes.

Notix checks the DKIM key, the mail-from records and, for the dashboard’s recommendation, the DMARC record. A domain that has never verified is rechecked every six hours, and the domain page’s “Verify domain” button runs a check on demand; once verified it is rechecked every thirty days so a record deleted in a DNS tidy-up is noticed. You get an email when the status changes to verified. Records that were not there before usually resolve within minutes of your provider publishing them; a record you corrected can take as long as its previous TTL to clear from resolvers that cached the old value.

The quickest check is to ask DNS yourself, from a machine that is not your provider’s own resolver:

Four lookups, one per record
# Replace example.com with your domain. Each should return the value from the table.
dig +short TXT notix._domainkey.example.com
dig +short TXT mail.example.com
dig +short MX  mail.example.com
dig +short TXT _dmarc.example.com

If the values come back and the dashboard still shows the record pending, wait for the next automatic check or trigger one. If a value comes back empty or different, the record is on the wrong host or the value was mangled on the way in; the mistakes below account for nearly every case.

What goes wrong

The five mistakes behind most pending domains.

The record is on the wrong host.

Most registrar forms want the name relative to the zone: notix._domainkey, not notix._domainkey.example.com. Some want the full name. Type the full name into a relative field and you get notix._domainkey.example.com.example.com, which nobody will ever query. The dashboard shows both forms for every record; use the one your provider's form expects.

A second SPF record.

A host may carry exactly one SPF record. Two v=spf1 records on the same name is a permanent error, and receivers treat it as no SPF at all. Notix puts its SPF on the mail subdomain, so it does not collide with the record on your root domain; if you ever move sending to the root, merge the include into the existing record rather than adding a new one.

Quotes and line breaks in the value.

Paste the value without surrounding quotes unless your provider's form says it adds none. A DKIM public key is long; some forms wrap it and silently drop characters at the wrap. If the DKIM check stays pending after an hour, compare what dig returns against the dashboard character by character.

Waiting on the TTL.

A record you edited replaces one that resolvers may have cached for as long as its old TTL. A fresh record with no previous value propagates as soon as your provider publishes it, which is usually within minutes; a corrected one can take the old TTL to clear. Auto or 3600 is fine; nothing here needs a lower TTL.

A DMARC policy tightened too early.

p=reject on a domain that also sends from a CRM, a helpdesk and a founder's laptop mail client throws away everything that is not aligned. Start at p=none, read the aggregate reports for a couple of weeks, bring every legitimate source into alignment, then move to quarantine and finally reject.

Check your setup.

The domain page in the dashboard shows a status per record: not started, pending or verified for DKIM and the mail-from pair, and added or missing for DMARC. A domain sends only once DKIM and the mail-from records are verified; until then the transactional email API refuses a from address on that domain, and the pre-send deliverability check reports domain_unverified as a blocking finding and dmarc_missing as a warning. Once everything is green, the records need no further attention unless you rotate keys, change providers or tighten the DMARC policy, and deliverability becomes a question of what you send and to whom, rather than whether receivers can tell it is you.

FAQ

Questions, answered.

Do I need all three of SPF, DKIM and DMARC to send?
For a domain to verify in Notix you need the DKIM record and the two records for the mail-from subdomain (its SPF TXT and its MX). DMARC is recommended and shown in the dashboard, but a domain verifies without it. For deliverability the answer is different: Gmail and Yahoo require SPF and DKIM from everyone and a DMARC record from bulk senders, so treat DMARC as part of the setup rather than an extra.
What is a DKIM selector, and why is it "notix"?
The selector is the label in front of ._domainkey in the DNS name. It lets one domain publish several DKIM keys, one per sending service, without them overwriting each other. Notix signs with the selector notix by default, so its key lives at notix._domainkey.yourdomain and your CRM's key can live at, say, crm._domainkey.yourdomain. The selector is written into every signature, so receivers know which key to fetch.
Why is the SPF record on mail.example.com and not on example.com?
Because SPF is checked against the return-path domain, not the visible from address, and Notix sets the return path to the mail subdomain of your domain. That keeps your root domain's SPF record untouched and under its ten-lookup limit, and it makes SPF align with your domain for DMARC purposes, since mail.example.com is a subdomain of example.com. The MX on the same name is where bounces for that return path are delivered.
What does the include:amazonses.com in the SPF record mean?
An include pulls another domain's SPF record into yours. This one names the transport Notix delivers through, in the same way a service built on any sending engine would publish that engine's servers as authorised senders for your return path. You are not configuring an AWS account: the record is the one line, and Notix's dashboard shows it as is.
How long does verification take?
Once the records resolve, usually minutes. Notix rechecks an unverified domain automatically every six hours, and the domain page's "Verify domain" button runs a check at any time; a verified domain is rechecked every thirty days in case a record is removed. You get an email when the domain verifies. If the check keeps failing, the dashboard shows which record it could not see, and the dig commands above show what resolvers actually return.
What is Domain Connect, and does my provider support it?
Domain Connect is an open protocol that lets a service hand your DNS provider a template of records to apply in one authorised click, instead of you typing them. When you add a domain, Notix looks for a _domainconnect TXT record on the zone that holds it and checks that the provider has the Notix template; if both are there, the domain page offers a signed link that opens your provider's confirmation screen and returns you to Notix afterwards. The link is valid for fifteen minutes. GoDaddy and a number of other registrars support it; if yours does not, the page simply shows the records to add by hand.

Add a domain and see the records for yourself.

Four records, verification within minutes of them resolving, and Domain Connect where your provider supports it.