How to Stop Email Spoofing of Your Domain: SPF, DKIM and DMARC Step by Step
ยท Tucango Team ยท 12 min read

A customer calls to ask about an "overdue invoice" they received from your email address. You never sent it. Someone used your company's name to trick them, and the worst part is that your domain had no way to stop it.
This is called domain spoofing, and you prevent it with three records configured in your domain's DNS: SPF, DKIM and DMARC. You don't need to be an engineer to understand them. In this guide we explain what each one does, how to check your domain in 10 minutes with free tools, and the safe path to full protection without your own emails getting blocked.
What Domain Spoofing Is and Why It Matters
Email was designed decades ago with no built-in way to verify who sends each message. That is why anyone can type billing@yourcompany.com in the "From" field of an email. The SPF standard acknowledges this upfront: any server can use whatever domain name it wants when sending an email (RFC 7208).
If your domain is not protected, you are exposed to three problems:
- Phishing aimed at your customers and suppliers. Fake emails carrying your brand that ask for payments, data or passwords. Chile's Government CSIRT reports that the State Connectivity Network blocked more than 700,000 malicious emails in 2023, which is why it recommends implementing these three protocols (CSIRT, SPF, DKIM and DMARC manual, in Spanish).
- Worse deliverability. Gmail warns that messages that are not authenticated may be marked as spam or rejected (Google, Email sender guidelines). In other words, your legitimate quotes and newsletters can end up in the spam folder.
- Damage to your reputation. If your brand shows up in a scam, customers don't distinguish between "they spoofed me" and "this company can't be trusted."
SPF, DKIM and DMARC Explained Simply
Think of your domain as a building with a front desk.
SPF: The List of Who Can Send on Your Behalf
SPF (Sender Policy Framework) is a TXT record in your DNS that lists the servers authorized to send email using your domain (RFC 7208). If you use Google Workspace plus a newsletter service, both need to be on that list. Google sums it up this way: your SPF record must include every email sender for your domain (Google).
It looks something like this: v=spf1 include:_spf.google.com ~all
DKIM: The Signature That Proves the Email Is Yours
DKIM (DomainKeys Identified Mail) adds a digital signature to every email you send. Your server signs with a private key, and you publish the public key in your DNS under a name like selector._domainkey.yourdomain.com (RFC 6376). That way, the recipient can verify that you sent the email and that nobody altered it along the way (Yahoo Sender Hub).
Gmail requires a key of at least 1,024 bits and recommends 2,048 bits if your DNS provider supports it (Google).
DMARC: The Rule That Says What to Do With Impostors
DMARC ties the other two together. It is a TXT record published at _dmarc.yourdomain.com that tells Gmail, Outlook and the rest what to do with emails that claim to come from your domain but fail SPF and DKIM: let them through (p=none), send them to spam (p=quarantine) or reject them (p=reject) (RFC 9989).
DMARC also requires alignment: passing SPF or DKIM is not enough; the authenticated domain has to match the one shown in the email's "From" field (Google). And with the rua tag you receive daily reports on everyone sending email with your domain, impostors included.
Latest update: in May 2026, DMARC became an official Internet standard with RFC 9989, which replaces the older RFC 7489. The essentials stay the same, but the
pcttag (applying the policy to a percentage of messages) has been deprecated and replaced byt=y, a testing mode.
Step by Step: Check Your Domain in 10 Minutes
You don't need technical access to run this check. All you need is your domain and these free tools.
1. Run the General Check With Google Admin Toolbox
Go to Google Admin Toolbox Check MX, enter your domain and review the alerts. It will tell you whether SPF, DKIM or DMARC is missing and whether there are configuration issues. Google recommends it for checking and fixing your domain setup (Google).
2. Look Up Each Record With Dig or MXToolbox
With Google Admin Toolbox Dig (choosing TXT) or MXToolbox, check:
- SPF: look for a TXT record on your root domain that starts with
v=spf1. There must be only one: two SPF records cause a permanent error (RFC 7208, section 4.5). - DKIM: look for the TXT record at
selector._domainkey.yourdomain.com. If you use Google Workspace, the default selector isgoogle, so the name isgoogle._domainkey(Google, Set up DKIM). - DMARC: look for the TXT record at
_dmarc.yourdomain.com. Check the value ofp=and whetherrua=exists. MXToolbox also has a DMARC checker.
3. Check a Real Email
Send yourself an email from your domain to a Gmail account, open the โฎ menu and choose "Show original." There you'll see whether SPF, DKIM and DMARC say PASS. Repeat the test with every tool that sends email on your behalf: your CRM, your newsletter platform or your online store.
Common Mistakes (and How to Avoid Them)
Leaving DMARC at p=none Forever
p=none is a good starting point, because it lets you receive reports without affecting delivery. But the standard itself calls it "monitoring mode" and distinguishes it from real protection, which starts when the policy is no longer none (RFC 9989). If you've been on none for months, your domain is just as exposed as before.
Misreading SPF's ~all
~all (softfail) means a server is probably not authorized, and the standard says an email should not be rejected based on that result alone (RFC 7208, section 8.5). Note that Google recommends using ~all (Google, Set up SPF), so it is not a mistake in itself. The problem arises when ~all is paired with DMARC at none: nobody is asking receivers to block impostors. Real protection comes from DMARC at quarantine or reject.
Going Over 10 DNS Lookups in SPF
Every include, a, mx, ptr, exists or redirect uses one DNS lookup, and the limit is 10. If you exceed it, SPF returns a permanent error and stops working (RFC 7208, section 4.6.4). Keep in mind that each include can contain other includes. This happens a lot when tools keep getting added and nobody removes the ones no longer in use.
Publishing the DKIM Key in the Wrong Place
The key goes at selector._domainkey.yourdomain.com, not on the root domain or at _dmarc. A very common mistake is pasting the v=DKIM1; k=rsa; p=... value into the wrong name field in the DNS panel.
Forgetting Services That Send on Your Behalf
Mailchimp, Elastic Email, MailPoet, your CRM, your invoicing system or your website's server: each one must be authorized in SPF and, ideally, sign with DKIM using your domain. Microsoft explicitly asks this of third-party services: that they sign with DKIM using your domain and that your SPF includes their servers (Microsoft Support). Each provider gives you the exact values in its "domain authentication" panel.
The Safe Path: From p=none to reject
Chile's Government CSIRT recommends rolling out these protocols gradually so legitimate email is not disrupted (CSIRT). This is the path we recommend, based on Google's guide (Recommended DMARC rollout):
- Set up SPF and DKIM for all your senders. Google asks you to do this at least 48 hours before turning on DMARC.
- Publish DMARC in monitoring mode:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. Review the reports for at least a week (Google notes this is usually enough to see all your email flows). - Fix every legitimate sender that shows up as failing.
- Move to quarantine:
p=quarantine. If you want to be cautious, you can addt=ywhile testing (RFC 9989). - Get to reject:
p=reject. Keep in mind that with reject, emails that fail DMARC are never delivered (Google).
Keep reviewing the reports afterward: every time you add a new tool, you'll need to authorize it.
What Gmail, Yahoo and Outlook Require
This is no longer just best practice. The major providers require it.
Gmail (since February 1, 2024) (Google):
- All senders: SPF or DKIM, valid forward and reverse DNS, a TLS connection and a spam rate below 0.30% in Postmaster Tools (ideally below 0.10%).
- If you send more than 5,000 emails a day to Gmail accounts: SPF, DKIM and DMARC (it can be
p=none), alignment with the "From" domain and one-click unsubscribe in marketing emails, with a visible link in the body.
Yahoo (since February 2024) (Yahoo Sender Hub):
- Bulk senders: SPF and DKIM, a valid DMARC record of at least
p=nonethat passes, a spam rate below 0.3%, one-click unsubscribe and honoring unsubscribes within 2 days.
Outlook.com, Hotmail and Live (since May 5, 2025) (Microsoft Postmaster and Microsoft Support):
- Domains sending 5,000 or more emails to Microsoft's consumer email services: passing SPF and DKIM, a published DMARC record (at least
p=none) and alignment. Senders that don't comply get the550 5.7.515rejection.
If you send newsletters to your list, review this before your next campaign. And if WhatsApp is also part of your campaigns, see our guide to bulk WhatsApp messaging without getting blocked.
Extras Once You're Protected
- BIMI: lets you show your brand logo next to your emails in supported providers. It requires DMARC at
quarantineorreject; it does not work withp=none(Google, Set up BIMI). - MTA-STS: protects the emails you receive, because it requires them to arrive over an encrypted TLS connection (RFC 8461).
Frequently Asked Questions
What Is the Difference Between SPF, DKIM and DMARC?
SPF lists the servers that can send email with your domain. DKIM signs every email to prove it's yours and that it wasn't altered. DMARC tells receivers what to do with emails that fail those checks and sends you reports.
Is SPF Enough?
No. SPF alone does not protect the "From" address your customer sees. To prevent spoofing you need DMARC at quarantine or reject, backed by SPF and DKIM aligned with your domain.
Can Setting Up DMARC Stop My Emails From Being Delivered?
At p=none it does not affect delivery. The risk appears when you move to quarantine or reject without having authorized all your services. That's why it's best to move in stages and review the reports.
How Long Does a DNS Change Take to Apply?
It depends on each record's TTL and your DNS provider. That's why Google recommends setting up SPF and DKIM at least 48 hours before turning on DMARC.
I Send Fewer Than 5,000 Emails a Day. Does This Still Affect Me?
Yes. Gmail requires SPF or DKIM from all senders, and unauthenticated emails can go to spam or be rejected. On top of that, spoofing can hit any domain, whether it sends a little or a lot.
How Do I Know if Someone Is Spoofing My Domain?
Turn on DMARC with the rua tag. The daily reports show you which servers are sending email with your domain and whether they pass or fail authentication.
Want to Know if Your Domain Is Protected?
At Tucango we review your domain and your company's email setup: SPF, DKIM, DMARC and every tool that sends email on your behalf. We give you a clear diagnosis and support you all the way to p=reject without losing a single legitimate email.
- Do you send newsletters or campaigns? We review it alongside your digital marketing strategy.
- Are your website or email hosted with us? It's included in our hosting and support service.
๐ Get in touch and we'll review your domain.
Sources
- Email sender guidelines โ Gmail Help / Google โ https://support.google.com/a/answer/81126?hl=en
- Recommended DMARC rollout โ Google Workspace โ https://support.google.com/a/answer/10032473?hl=en
- Set up DKIM โ Google Workspace โ https://support.google.com/a/answer/174124?hl=en
- Set up SPF โ Google Workspace โ https://support.google.com/a/answer/10685031?hl=en
- Set up BIMI โ Google Workspace โ https://support.google.com/a/answer/10911320?hl=en
- Google Admin Toolbox: Check MX and Dig โ Google โ https://toolbox.googleapps.com/apps/checkmx/ and https://toolbox.googleapps.com/apps/dig/
- Sender Best Practices โ Yahoo Sender Hub โ https://senders.yahooinc.com/best-practices/
- Fix NDR error "550 5.7.515" in Outlook.com โ Microsoft Support โ https://support.microsoft.com/topic/fix-ndr-error-550-5-7-515-in-outlook-com-34cfe8f8-6fbf-457e-9e8b-9e4dbaf4e0ef
- Outlook.com Postmaster: Requirements for High-Volume Senders โ Microsoft โ https://postmaster.outlook.com/
- RFC 7208: Sender Policy Framework (SPF) โ IETF, April 2014 โ https://datatracker.ietf.org/doc/html/rfc7208
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures โ IETF, September 2011 โ https://datatracker.ietf.org/doc/html/rfc6376
- RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC) โ IETF, May 2026 โ https://www.rfc-editor.org/rfc/rfc9989.html
- RFC 7489: DMARC (previous version, replaced by RFC 9989) โ https://datatracker.ietf.org/doc/rfc7489/
- RFC 8461: SMTP MTA Strict Transport Security (MTA-STS) โ IETF, September 2018 โ https://datatracker.ietf.org/doc/html/rfc8461
- Manual: Implementing SPF, DKIM and DMARC in public services (in Spanish) โ Government CSIRT of Chile, April 2024 โ https://csirt.gob.cl/documents/4563/Manual_SPF_DKIM_y_DMARC.pdf
- MXToolbox SuperTool and DMARC Lookup โ https://mxtoolbox.com/SuperTool.aspx and https://mxtoolbox.com/dmarc.aspx
