Skip to content

article

Verifying Your Sending Domain

Add a domain, publish the verification, SPF, DKIM, DMARC, MX, and mail-A DNS records StretchMail generates, and watch each one turn active.

Why domain verification matters

Email providers only trust mail from domains that prove three things: that the sender owns the domain, that the sending service is authorized, and that messages are cryptographically signed. StretchMail sets all of this up for you through the Domains tab. A verified domain is the single biggest factor in whether your campaigns land in the inbox instead of spam.

Step 1 — Add your domain

  1. Open StretchMail → Domains.
  2. Click Add domain.
  3. Enter the domain you send from — for example yourcompany.com (no www, no @, just the bare domain).
  4. Save. The domain appears with status pending and StretchMail generates the DNS records you need.

Step 2 — Understand the records

StretchMail produces a record set like this (your exact values are shown in the app):

PurposeTypeHost / NameValue (example)
OwnershipTXT_stretchmailstretchmail-verify=<your-token>
SPF (authorize sending)TXT@ (root)v=spf1 a mx ip4:<mail-ip> include:<provider> ~all
DKIM (sign mail)TXTstretchmail._domainkeyv=DKIM1; k=rsa; p=<public-key>
DMARC (handle failures)TXT_dmarcv=DMARC1; p=quarantine; rua=mailto:dmarc@yourcompany.com; fo=1
Inbound routingMX@ (root)mail.yourcompany.com (priority 10)
Mail hostAmail<mail-ip>
  • Verification TXT proves ownership. Until it resolves, the domain can't activate.
  • SPF lists who may send for your domain. If you already have an SPF record, merge the StretchMail include/ip4 into your existing one — never publish two SPF records.
  • DKIM publishes the public key StretchMail uses to sign outgoing mail.
  • DMARC tells receivers what to do when SPF/DKIM fail. StretchMail's default policy is p=quarantine.
  • MX and mail A records let inbound mail reach your StretchMail inbox.

Step 3 — Publish the records at your DNS host

  1. Sign in to wherever your domain's DNS lives (Cloudflare, GoDaddy, Namecheap, Route 53, etc.).
  2. Create each record exactly as shown. Copy/paste values to avoid typos.
  3. For host names, most DNS hosts want just the prefix (_stretchmail, stretchmail._domainkey, _dmarc, mail) rather than the full domain. If your host requires the full name, use _stretchmail.yourcompany.com, and so on — but never double up the domain.
  4. Save your DNS changes.

Step 4 — Verify in StretchMail

  1. Back in Domains, open the domain and click Verify.
  2. StretchMail performs a live DNS lookup for every record and reports each one's status — MX, SPF, DMARC, and DKIM each show active or pending.
  3. When the required records resolve, the domain flips to active with inbound and outbound enabled. If some are still pending, wait for DNS to propagate and click Verify again.

Worked example

Payne Coaching Co. adds paynecoaching.com:

  1. Beau pastes the five generated records into Cloudflare, leaving his existing website A record untouched.
  2. He already had an SPF record for a newsletter tool, so instead of adding a second one he edits the existing record to include StretchMail's include: term.
  3. Ten minutes later he clicks Verify: ownership, SPF, DKIM, and DMARC all read active; MX reads active too. The domain shows active and he can now create beau@paynecoaching.com.

Tips

  • Only one SPF record per domain — merge, don't duplicate. Two SPF records will cause SPF to fail.
  • Leave your website records alone. StretchMail's records don't affect your www site; only add what StretchMail lists.
  • Re-run Verify after any DNS edit. Verification reflects a live lookup, so it updates the moment DNS catches up.
  • DMARC starts at quarantine. Once you're confident mail is signing correctly, you can tighten the policy at your DNS host.

Troubleshooting

  • "Verifying" never becomes "active." DNS hasn't propagated yet, or a record has a typo. Confirm each host name and value, then wait and retry.
  • SPF shows pending even though you added a record. You likely have two SPF records, or your ~all term is missing — merge into a single record.
  • DKIM stays pending. Make sure the host is exactly stretchmail._domainkey and the whole public key was pasted without line breaks.
  • MX pending. Some hosts take longer on MX; verify the priority and that the mail host A record also exists.

Was this helpful?

Help us improve this article

Use these controls to share whether this answer solved the issue. Feedback helps prioritize updates to StretchSuite Support.