DNS Setup Guide
Configure SPF, DKIM, and DMARC for optimal email deliverability
DNS Setup Guide
Properly configured DNS records are essential for email deliverability. Without them, your emails are far more likely to land in spam or be rejected outright. This guide covers the three key authentication records (SPF, DKIM, DMARC) and the optional MX record for inbox users.
Overview
Email authentication works through DNS records that prove you authorized NorthRelay to send email on behalf of your domain. Receiving mail servers check these records to verify legitimacy.
| Record | Purpose | Required |
|---|---|---|
| SPF | Declares which servers are allowed to send email for your domain | Yes |
| DKIM | Adds a cryptographic signature to prove the email was not tampered with | Yes (auto-configured) |
| DMARC | Tells receiving servers what to do with emails that fail SPF/DKIM checks | Strongly recommended |
| MX | Routes inbound email to NorthRelay's mailbox servers (inbox users only) | Only for inbox |
SPF Record
SPF (Sender Policy Framework) tells receiving mail servers which IP addresses are authorized to send email for your domain.
What to Add
Add a TXT record at the root of your domain:
| Field | Value |
|---|---|
| Type | TXT |
| Host/Name | @ (or leave blank, depending on your DNS provider) |
| Value | v=spf1 include:_spf.north-pipe.ca -all |
| TTL | 3600 (or default) |
How It Works
The include:_spf.north-pipe.ca directive tells receiving servers to look up NorthRelay's SPF record, which lists NorthRelay's sending IPs (IPv4 and IPv6), so you never need to update SPF when our infrastructure changes. The -all suffix means "reject email from any other source" — this is the strictest and most secure setting.
If You Already Have an SPF Record
A domain can only have one SPF TXT record. If you already send email through another provider, merge the records:
v=spf1 include:_spf.north-pipe.ca include:_spf.google.com -allDo not create a second TXT record starting with v=spf1 — this will cause SPF to fail entirely.
Common Mistakes
- Using
~all(softfail) instead of-all(hardfail) — softfail is weaker and may not protect you - Adding more than 10 DNS lookups in your SPF chain (SPF has a 10-lookup limit)
- Creating multiple SPF records on the same domain
Existing domains using include:north-pipe.ca remain supported. New setup instructions use include:_spf.north-pipe.ca. Publish only one SPF record.
DKIM Record
DKIM (DomainKeys Identified Mail) adds a cryptographic signature to each outgoing email, allowing the recipient to verify the message was not altered in transit.
Configure your domain
For a custom domain, publish the DKIM TXT record shown in Domains & senders at default._domainkey.yourdomain.com. Copy the full signing key from the dashboard. NorthRelay manages the signing infrastructure; you manage DNS for your custom domain. Managed NorthRelay domains are configured automatically.
To verify your domain:
- Go to Dashboard → Domains
- Click Add Domain and enter your domain name
- Add the per-domain ownership TXT record at
_northrelay.yourdomain.com, plus the SPF and DKIM TXT records shown in the dashboard - Click Verify
- Once verified, DKIM signing is enabled automatically
Verifying DKIM
After domain verification, confirm the DKIM record is published:
dig TXT default._domainkey.yourdomain.comYou should see a response containing a v=DKIM1; k=rsa; p=... value. If the record is missing, wait up to 48 hours for DNS propagation, then check again.
Subdomains
DKIM signing supports subdomains automatically. If you send from notifications@sub.yourdomain.com, the parent domain's DKIM key will sign the email (using the SubDomains=yes configuration on NorthRelay's signing infrastructure).
DMARC Record
DMARC (Domain-based Message Authentication, Reporting, and Conformance) tells receiving servers how to handle emails that fail SPF or DKIM checks, and where to send aggregate reports.
What to Add
Add a TXT record at _dmarc.yourdomain.com:
| Field | Value |
|---|---|
| Type | TXT |
| Host/Name | _dmarc |
| Value | v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com |
| TTL | 3600 (or default) |
Policy Options
| Policy | Behavior | Recommended When |
|---|---|---|
p=none | Monitor only, take no action | Initial setup — use this while reviewing reports |
p=quarantine | Send failing emails to spam | After confirming SPF and DKIM are working |
p=reject | Reject failing emails outright | Maximum protection, once you are confident in your setup |
We recommend starting with p=quarantine and moving to p=reject after monitoring reports for 2-4 weeks.
Full DMARC Record Example
v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:dmarc@yourdomain.com; ruf=mailto:dmarc@yourdomain.com; adkim=r; aspf=r; pct=100| Tag | Meaning |
|---|---|
p=quarantine | Quarantine emails that fail authentication |
sp=quarantine | Same policy for subdomains |
rua=mailto:... | Where to send aggregate reports (daily summaries) |
ruf=mailto:... | Where to send forensic reports (individual failures) |
adkim=r | Relaxed DKIM alignment (allows subdomain signing) |
aspf=r | Relaxed SPF alignment |
pct=100 | Apply policy to 100% of failing emails |
MX Record (Inbox Users)
If you are on the Pro tier or above and want to receive email through NorthRelay's inbox, add an MX record pointing to NorthRelay's mailbox server.
| Field | Value |
|---|---|
| Type | MX |
| Host/Name | @ (or leave blank) |
| Value | mx.northrelay.ca |
| Priority | 10 |
| TTL | 3600 (or default) |
This routes inbound email for your domain to NorthRelay's mailbox servers, where it is accessible via the Dashboard inbox or IMAP/JMAP clients.
Verification
Using dig (Linux/macOS)
# Check SPF
dig TXT yourdomain.com
# Check DKIM
dig TXT default._domainkey.yourdomain.com
# Check DMARC
dig TXT _dmarc.yourdomain.com
# Check MX
dig MX yourdomain.comUsing nslookup (Windows)
# Check SPF
nslookup -type=TXT yourdomain.com
# Check DKIM
nslookup -type=TXT default._domainkey.yourdomain.com
# Check DMARC
nslookup -type=TXT _dmarc.yourdomain.com
# Check MX
nslookup -type=MX yourdomain.comUsing the Dashboard
Go to Dashboard → Domains, select your domain, and click Check DNS. The dashboard will verify all required records and report any issues.
DNS Provider Examples
Cloudflare
- Log in to Cloudflare and select your domain
- Go to DNS → Records → Add Record
- Set type to TXT, name to
@, and paste the SPF value - Repeat for DMARC (name:
_dmarc) - If using proxy (orange cloud), note that TXT records are never proxied
Amazon Route 53
- Open the Route 53 console and select your hosted zone
- Click Create Record
- Leave the record name blank for root, set type to TXT
- Paste the SPF value in quotes:
"v=spf1 include:_spf.north-pipe.ca -all" - Route 53 requires TXT values to be enclosed in double quotes
GoDaddy
- Go to My Products → DNS for your domain
- Click Add under the Records section
- Select type TXT, set host to
@, and paste the SPF value - GoDaddy may take up to 48 hours to propagate changes
Troubleshooting
DNS propagation delays
DNS changes can take up to 48 hours to propagate globally, though most providers update within 1-4 hours.
- Use dnschecker.org to check propagation status worldwide
- Lower your TTL to 300 (5 minutes) before making changes to speed up future updates
Conflicting SPF records
If you have multiple TXT records starting with v=spf1, SPF validation will fail. Merge all include: directives into a single record.
"Too many DNS lookups" SPF error
SPF allows a maximum of 10 DNS lookups. Each include: directive counts as one lookup. If you exceed 10, consider:
- Removing providers you no longer use
- Using
ip4:orip6:directives instead ofinclude:for static IPs - Using an SPF flattening service
DKIM record not found
- Wait up to 48 hours after domain verification
- Confirm you verified the domain in Dashboard → Domains
- Check the exact record name:
default._domainkey.yourdomain.com(notdkim._domainkey)
DMARC reports not arriving
- Verify the
ruaemail address is correct and can receive email - Some providers take 24-48 hours to start sending reports
- Check that the
ruaaddress domain has a DMARC report authorization record if it differs from the sending domain