Cybersecurity

Email Security: DMARC, SPF and DKIM Setup

For your accounts team to receive an “urgent payment” email from your managing director’s address, an attacker does not need to break into any of your systems. An unprotected domain is enough. DMARC, SPF and DKIM close that door.

CybUP TeamLast updated: 6 min read

In short

DMARC, SPF and DKIM are DNS-based email authentication standards that define who may send email on behalf of a domain and let receiving servers reject spoofed messages. Every business that sends from its own domain needs them. CybUp finds every sending source, publishes the records and moves DMARC from p=none to p=reject in stages, guided by the reports.

What are SPF, DKIM and DMARC, and how do they work together?

SPF is a DNS record listing which servers may send email on behalf of your domain (RFC 7208). DKIM adds a digital signature to every outgoing message using a key that belongs to your domain; the receiver checks the signature against the public key in DNS and knows the message was not altered in transit (RFC 6376).

Both leave a gap: neither protects the From address the user sees on screen. An attacker can produce valid SPF and DKIM with their own domain and still put your domain in the visible From address. DMARC closes that gap. It requires at least one of SPF or DKIM to pass and to align with the domain in the visible From header. As the domain owner you decide what happens to messages that fail (nothing, quarantine or reject), and receivers send you reports on what they did.

The DMARC standard was updated in May 2026: RFC 9989 replaced the old RFC 7489, and aggregate reporting is now defined in a separate document. The new version drops the “pct” tag and introduces a “t” tag for testing mode. We write your records to the new standard.

What happens without DMARC? A CEO fraud scenario

Take a 50-person import company. Its domain has an SPF record but no DMARC record. One Friday afternoon the accounts manager receives an email from the managing director’s exact address: the overseas supplier has changed bank accounts, and the outstanding invoice must be paid into the new account today. The address is right, the signature is right, the tone is familiar.

An email like this is usually sent not by breaking into a mail server but simply by forging the sender address (spoofing). On a domain whose DMARC policy is p=reject, large mailbox providers such as Gmail and Microsoft 365 reject the message before it reaches the inbox. On a domain without DMARC, the receiver’s own filter decides, and the message may well land in the inbox.

One limit should be stated plainly: DMARC only stops exact impersonation of your own domain. If the attacker registers a lookalike such as “companyname-tr.com”, DMARC cannot stop it. Against that kind of attack you still need a rule that payment changes are confirmed by phone, and staff who know what to look for.

How do you move a DMARC policy from p=none to p=reject?

Publishing DMARC straight at p=reject is the quickest way to block your own legitimate email. Most companies do not know exactly who sends email in their domain’s name: the CRM, the newsletter tool, invoices sent from the ERP, the website contact form, the HR platform, the photocopier’s scan-to-email feature. That is why the move is made in stages.

  • Start with p=none and a rua address: no email is affected and reports are collected.
  • Identify every sending source from the reports and set up SPF/DKIM alignment for each one.
  • p=quarantine: failing messages go to the recipient’s spam folder, with the t=y test flag first if needed.
  • p=reject: spoofed messages are rejected by the receiver.
  • Set sp and np policies for subdomains and for non-existent or unused domains.

“The reason for starting at "p=none" is to ensure that nothing’s been missed in the initial SPF and DKIM deployments. In all but the most trivial setups, a Domain Owner can overlook a server here or be unaware of a third-party sending agreement there.”

— RFC 9989 (IETF) — DMARC

How do you read DMARC reports?

Receivers such as Gmail, Microsoft and Yahoo send daily aggregate reports in XML to the address in your rua tag. Each report shows which IPs sent how many messages in your domain’s name, whether SPF and DKIM passed, and the alignment result. Raw XML is tedious to read, so we feed the reports into an analysis tool and turn them into something readable.

In the first few weeks the reports usually hold surprises: a marketing tool nobody remembers, an old web server, a reseller sending from your domain. A decision is made for each source. If it is legitimate, it is authorised and DKIM signing is switched on; if not, it is left to be blocked.

What do the Google and Yahoo bulk sender requirements ask for?

Since February 2024, Google’s email sender guidelines have required anyone sending to personal Gmail accounts to use at least SPF or DKIM. Senders of 5,000 or more messages a day must have all three of SPF, DKIM and DMARC, align the From domain and offer one-click unsubscribe in marketing email; for these rules a DMARC policy of p=none is acceptable.

Yahoo’s sender best practices are similar: SPF and DKIM together, a valid DMARC record of at least p=none, and alignment. Mail that does not comply may go to spam or be rejected. For companies that send newsletters or bulk notifications, DMARC is now a deliverability issue as much as a security one.

What are the most common SPF, DKIM and DMARC mistakes?

The most common is an SPF record that exceeds the DNS lookup limit. Under RFC 7208, mechanisms that need a DNS lookup, such as include, may not total more than 10 during SPF evaluation. A record that gains another include for every new service becomes invalid at some point, and SPF fails outright. Having more than one SPF record on a domain also invalidates it.

The second is third-party services signing DKIM with their own domain. DKIM then passes but does not align, so it does nothing for DMARC. Signing with your own domain (custom DKIM) has to be enabled in the service’s control panel. If you use Microsoft 365, you need to enable DKIM for your domain rather than relying on the default onmicrosoft.com signature. If you are planning an Exchange to Microsoft 365 migration, the cleanest route is to build these records into the migration plan.

“SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".”

— RFC 7208 (IETF) — SPF, DNS lookup limits

What you receive

  • Inventory of every source that sends email in your domain’s name
  • A single, cleaned-up SPF record within the lookup limit
  • Aligned DKIM signing for every legitimate source
  • Staged DMARC policy: none, quarantine, reject
  • Protective records for subdomains and for domains that send no email
  • DMARC report analysis and an end-of-period summary report

How we work

  1. 1

    Free review

    We check the current SPF, DKIM and DMARC records on your domains and send you the gaps and risks in writing.

  2. 2

    Monitoring mode

    DMARC is published at p=none with a reporting address; reports are collected without affecting mail flow.

  3. 3

    Fixing the sources

    SPF and aligned DKIM are set up for every legitimate sending source seen in the reports, and sources you no longer use are removed from the record.

  4. 4

    Gradual tightening

    As the reports come back clean, the policy moves to quarantine and then to reject.

  5. 5

    Follow-up

    Records are updated when a new service is added, and reports are reviewed at regular intervals.

Frequently asked questions

Will setting up DMARC disrupt our email?

Not if it is done in stages. The first stage is p=none, which affects no email at all. We only tighten the policy once the reports show every legitimate source passing.

How long does it take to reach p=reject?

It depends on how many sending sources you have. For a company that uses only Microsoft 365 or Google Workspace, a few weeks may be enough. Companies with many third-party services can take several months.

Does it work with Microsoft 365 and Google Workspace?

Yes. Both platforms support SPF, DKIM and DMARC. Setup consists of adding the DNS records and enabling DKIM signing with your own domain on the platform side.

Does DMARC stop all phishing email?

No. It stops exact impersonation of your domain; it does not stop email from lookalike domains or from genuine accounts that have been compromised. That is why process controls, such as confirming payment changes by phone, are still needed.

What should we do with domains we never send email from?

Those domains are attractive to attackers. We publish an SPF record stating that no mail is sent and a DMARC record with p=reject, so nobody can send spoofed mail from them.

Our DNS is managed by another company. Is that a problem?

No. If you give us access to your DNS control panel, we add the records ourselves; if you cannot, we prepare the records in a form you can pass straight to your DNS provider.

Why does email security matter for KVKK?

The data security guide issued under KVKK, Türkiye’s Personal Data Protection Law (Law No. 6698), expects adequate measures when personal data is sent by email. Spoofed emails asking for personal data or payment details are one of the common routes to a breach. DMARC is one of the technical measures that reduce this risk.

How is the price worked out?

It depends on the number of domains, the variety of sending sources and how long the report follow-up runs. We send a written quote after reviewing your current records; the review is free.

Sources and official documentation

CybUP Team

Written and reviewed by the CybUP technical team in Istanbul. Last updated: 10 October 2026.

Request a free review for this service

Fill in the form and we will get back to you as soon as possible. For urgent matters, WhatsApp or phone is faster.

Message on WhatsApp

Cookie preferences

Strictly necessary

Required for the core functions of the site and to remember your choices. Cannot be turned off.

Analytics

Lets us measure which pages are visited, anonymously (Google Analytics via Google Tag Manager).

Marketing

Used for advertising measurement and personalisation.