Verify a Domain on Cloudflare DNS
Add Notify SPF, DKIM, and DMARC records in the Cloudflare DNS dashboard.
Production sends from a custom from address require a verified domain. If your DNS is on Cloudflare, add the records Notify shows when you create a domain.
Before you start
- Open Domains and add your domain (for example
acme.com) - Copy the SPF, DKIM, and DMARC values Notify displays
- Log in to the Cloudflare dashboard for that zone
Exact hostnames and values come from the Notify dashboard — do not invent them.
Add records in Cloudflare
- Select your domain → DNS → Records
- Click Add record for each Notify requirement:
| Type | Typical use |
| --- | --- |
| TXT | SPF (v=spf1 ...) |
| CNAME or TXT | DKIM (Notify shows which) |
| TXT | DMARC (_dmarc / v=DMARC1 ...) |
- Paste the Name / Host and Content / Target exactly as shown in Notify
- Leave Proxy status as DNS only (grey cloud) for mail-related CNAMEs — orange-cloud proxy breaks email authentication
- Save
Cloudflare-specific tips
- Flattening / CNAME flattening — Cloudflare may flatten apex CNAMEs. Prefer the record type Notify asks for; if verification fails, check the live DNS with
dig/ Cloudflare’s DNS analytics. - Existing SPF — merge Notify’s include into your existing SPF
TXTrather than adding a second SPF record. Multiple SPF records cause authentication failures. - TTL — Auto is fine. Propagation is usually fast on Cloudflare but Notify may still take time to re-check.
- Email Routing — Cloudflare Email Routing is unrelated to Notify sending; it does not replace SPF/DKIM for outbound via Notify.
Check verification
- Return to Domains
- Click verify / wait for status
verified - Send a test with
fromon that domain:
await fetch('https://notify.cx/api/email/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.NOTIFY_API_KEY!
},
body: JSON.stringify({
from: 'noreply@acme.com',
to: 'you@example.com',
subject: 'Domain check',
message: 'Cloudflare DNS is wired up.'
})
});
If status stays failed or pending, re-check for typos, duplicate SPF, and proxied CNAMEs. See Domain verification troubleshooting.