Setting up email authentication for a Shopify store

The order to do things in when your shop sends from your own domain — and the mistake that makes order confirmations fail while your own tests pass.

✉️ MailMedic6 min readUpdated 2026-08-22

A Shopify store sends mail from two different places: Shopify itself, for order confirmations and shipping notices, and whatever else you connected — your mailbox provider, a marketing app, an invoicing tool. Authentication has to cover all of them, and that is where most setups go wrong.

Step 1 — decide what address customers see

In your Shopify admin, under Settings → Notifications, you set the sender email. Use an address on your own domain, such as orders@your-store.com. An address at gmail.com or similar looks like impersonation to receivers, because Shopify's servers are obviously not Gmail.

Step 2 — authenticate the domain in Shopify

Once you set a custom sender address, Shopify shows you DNS records to publish so it can send on your behalf. Add exactly the records it displays, in your DNS, without changing anything. Then return to that screen and let Shopify verify them.

Follow the records Shopify shows you at that moment rather than any example found online, including ours. Shopify has changed the specifics over the years, and an outdated hostname copied from an old blog post is a common cause of a setup that verifies as broken.

Step 3 — one SPF record covering everything

This is the step that catches people. Your domain may publish only one SPF record, and it must list every service that sends for you. If you already have one for your mailbox provider, you extend it rather than adding a second.

v=spf1 include:shops.shopify.com include:_spf.google.com ~all

Step 4 — DKIM in every sending service

DKIM is not written by hand. Each service generates a key and gives you the public half to publish under its own selector name. Turn it on in Shopify, in your mailbox provider, and in every app that sends mail, then publish each record and press verify in each service.

Step 5 — DMARC last

Only once SPF and DKIM pass for every sender should you publish DMARC, and start at p=none with reporting on. Enforcing before you know all your senders is how shops accidentally block their own invoices.

v=DMARC1; p=none; rua=mailto:dmarc@your-store.com

The mistake worth repeating

If your SPF record does not include Shopify, order confirmations fail authentication while every email you personally send from the same domain arrives normally. You will test, see success, and conclude the problem is elsewhere. It is the single most common finding when we scan a Shopify domain — check for it first, before rewriting a single email template.

Verifying the whole thing

Run your domain through the free checker after each change and after waiting an hour. When MX, SPF, DKIM and DMARC all pass, the identity side is done — and then, if something still lands in spam, content and reputation are worth looking at.

Did this answer your question?

If anything here was wrong, unclear or out of date, tell us — the article gets fixed the same day.

Related articles