{"id":2774,"date":"2026-02-01T12:03:24","date_gmt":"2026-02-01T11:03:24","guid":{"rendered":"https:\/\/itsupport.online\/spf-dkim-dmarc\/"},"modified":"2026-03-03T17:13:02","modified_gmt":"2026-03-03T16:13:02","slug":"spf-dkim-dmarc","status":"publish","type":"post","link":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/","title":{"rendered":"SPF\/DKIM\/DMARC"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">SPF\/DKIM\/DMARC: the setup that every company should have<\/h1>\n\n<p style=\"font-size:18px\">Your emails end up in spam. Or worse: scammers send phishing emails in your name and your customers fall for them. Sounds like a nightmare? It&#8217;s a bitter reality for many SMEs &#8211; and often avoidable.   <\/p>\n\n<p style=\"font-size:18px\">The solution is called SPF, DKIM and DMARC. Three technical abbreviations that sound like IT jargon but actually protect your digital business card. Since 2025, they are no longer optional: Google, Microsoft and Yahoo require these standards for anyone who sends more than 5,000 emails per day. If you ignore them, your emails will end up in spam &#8211; or won&#8217;t arrive at all.   <\/p>\n\n<p style=\"font-size:18px\">In this article, you will find out what SPF, DKIM and DMARC really mean, why they are also indispensable for smaller companies and how you can set them up step by step &#8211; without studying IT and without expensive consultants.<\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Spoofing &amp; business email compromise explained in 3 minutes<\/h2>\n\n<p style=\"font-size:18px\">Before we get into the technology: Why is this important at all?<\/p>\n\n<h3 class=\"wp-block-heading\">The problem: email spoofing<\/h3>\n\n<p style=\"font-size:18px\"><strong>Imagine this:<\/strong> A scammer sends an email that looks like it&#8217;s from your company. Sender: <code>rechnung@deine-firma.de<\/code>. Subject: &#8220;Important: New bank details&#8221;. The recipient &#8211; perhaps a long-standing customer &#8211; unsuspectingly changes the bank transfer details.   <\/p>\n\n<p style=\"font-size:18px\">The money ends up in the fraudster&#8217;s account. Your customer is angry. Your reputation is ruined.  <\/p>\n\n<p style=\"font-size:18px\"><strong>The bitter truth:<\/strong> email spoofing is technically child&#8217;s play. Without any protective measures, anyone on the Internet can pretend to write in your name. Email technology was developed in the 1970s &#8211; nobody thought about security back then.  <\/p>\n\n<h3 class=\"wp-block-heading\">Business Email Compromise (BEC): The 26 billion dollar scam<\/h3>\n\n<p style=\"font-size:18px\">According to the FBI, BEC attacks cause over 26 billion dollars worth of damage worldwide every year. The scam: <\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">Fraudsters research your company (website, LinkedIn, social media)<\/li>\n\n\n\n<li style=\"font-size:18px\">You falsify an e-mail from the management or accounting department<\/li>\n\n\n\n<li style=\"font-size:18px\">Urgent referral is requested (&#8220;Please process immediately, I&#8217;m in a meeting&#8221;)<\/li>\n\n\n\n<li style=\"font-size:18px\">Employees or business partners pay &#8211; directly to the criminals<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\"><strong>Practical example:<\/strong> A medium-sized craft business from Bavaria received a supposed invoice from a long-standing supplier in 2024 &#8211; same email address, same logo, only the IBAN had changed. 47,000 was transferred before the fraud was discovered. The money: gone. The supplier: frustrated. The trust: damaged.    <\/p>\n\n<h3 class=\"wp-block-heading\">The solution: SPF, DKIM, DMARC<\/h3>\n\n<p style=\"font-size:18px\">These three technologies work together like a three-stage security lock:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>SPF<\/strong> (Sender Policy Framework): &#8220;These servers are allowed to send emails on my behalf&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>DKIM<\/strong> (DomainKeys Identified Mail): &#8220;This email is genuine and has not been tampered with&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>DMARC<\/strong> (Domain-based Message Authentication, Reporting, and Conformance): &#8220;If SPF or DKIM fail, throw the email away&#8221;<\/li>\n<\/ul>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"949\" height=\"798\" data-src=\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1.png\" alt=\"\" class=\"wp-image-2593 lazyload\" data-srcset=\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1.png 949w, https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1-300x252.png 300w, https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1-768x646.png 768w, https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1-528x444.png 528w, https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Risiko-Bewertung-visual-selection-1-1-820x690.png 820w\" data-sizes=\"(max-width: 949px) 100vw, 949px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 949px; --smush-placeholder-aspect-ratio: 949\/798;\" \/><\/figure>\n\n<p style=\"font-size:18px\">Together they ensure that:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Fraudsters can no longer forge your domain<\/li>\n\n\n\n<li style=\"font-size:18px\">Your real emails don&#8217;t end up in spam<\/li>\n\n\n\n<li style=\"font-size:18px\">You receive reports on who is trying to abuse your domain<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Important to know:<\/strong> Since May 2025, Google, Microsoft and Yahoo require these standards for bulk senders (5,000+ emails\/day). Even if you send less: The recipient systems are becoming increasingly strict. If you are still without SPF\/DKIM\/DMARC in 2026, you risk massively poorer delivery rates.  <\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">SPF: Define sender (and avoid typical mistakes)<\/h2>\n\n<p style=\"font-size:18px\">SPF is your first line of defense. It is a list of mail servers that are authorized to send emails for your domain. <\/p>\n\n<h3 class=\"wp-block-heading\">How SPF works<\/h3>\n\n<p style=\"font-size:18px\">When you send an e-mail, the recipient server checks:<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">&#8220;Which IP address is this email coming from?&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">&#8220;Is this IP entered in the domain&#8217;s SPF list?&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">If yes \u2192 e-mail is accepted<\/li>\n\n\n\n<li style=\"font-size:18px\">If no \u2192 Email is marked or rejected<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\"><strong>Simple analogy:<\/strong> SPF is like a guest list at the door. Only those on it are allowed in and can speak on behalf of the host. <\/p>\n\n<h3 class=\"wp-block-heading\">Create SPF entry: Step by step<\/h3>\n\n<p><strong>1. create a list: Who sends emails for you?<\/strong><\/p>\n\n<p style=\"font-size:18px\">Typical sources:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Your email hosting (e.g. Microsoft 365, Google Workspace, Mailbox.org)<\/li>\n\n\n\n<li style=\"font-size:18px\">Newsletter tools (e.g. Mailchimp, Brevo, CleverReach)<\/li>\n\n\n\n<li style=\"font-size:18px\">CRM systems (e.g. HubSpot, Salesforce)<\/li>\n\n\n\n<li style=\"font-size:18px\">Marketing automation (e.g. ActiveCampaign)<\/li>\n\n\n\n<li style=\"font-size:18px\">Ticket systems (e.g. Zendesk, Freshdesk)<\/li>\n\n\n\n<li style=\"font-size:18px\">Transactional emails (e.g. Shopify, WooCommerce)<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Important:<\/strong> Don&#8217;t forget any! Missing entries = your own mails end up in spam. <\/p>\n\n<p><strong>2. assemble SPF entry<\/strong><\/p>\n\n<p style=\"font-size:18px\">An SPF record is a DNS TXT record and looks like this:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all\n<\/code><\/pre>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>v=spf1<\/code>  \u2192 Version of the SPF standard (always like this)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>include:_spf.google.com<\/code>  \u2192 Google Workspace is allowed to send<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>include:spf.protection.outlook.com<\/code>  \u2192 Microsoft 365 is allowed to send<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>-all<\/code>  \u2192 Everything else is rejected (strict rule)<\/li>\n<\/ul>\n\n<p><strong>What does that mean?<\/strong><\/p>\n\n<p><strong>Other mechanisms:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>ip4:192.0.2.1<\/code>  \u2192 Allow specific IPv4 address<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>ip6:2001:db8::1<\/code>  \u2192 Allow specific IPv6 address<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>a<\/code>  \u2192 Allow server with the A record IP of the domain<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>mx<\/code>  \u2192 Allow server in the MX record<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>~all<\/code>  \u2192 Mark everything else as &#8220;softfail&#8221; (softer rule)<\/li>\n<\/ul>\n\n<p><strong>Example of a typical SME setup:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com include:servers.mcsv.net include:spf.hubspot.com -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">This means: Google Workspace + Mailchimp + HubSpot are allowed to send, everything else is rejected.<\/p>\n\n<p><strong>3. store the SPF record in the DNS<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Go to your domain provider (e.g. IONOS, Strato, Hetzner, Namecheap)<\/li>\n\n\n\n<li style=\"font-size:18px\">Open the DNS settings<\/li>\n\n\n\n<li style=\"font-size:18px\">Create a new TXT record:\n<ul class=\"wp-block-list\">\n<li><strong>Name\/Host:<\/strong> <code>@<\/code> or your domain (e.g. <code>deine-firma.de<\/code>)<\/li>\n\n\n\n<li><strong>Type:<\/strong> TXT<\/li>\n\n\n\n<li><strong>Value:<\/strong> <code>v=spf1 include:_spf.google.com -all<\/code><\/li>\n\n\n\n<li><strong>TTL:<\/strong> 3600 (standard)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Important:<\/strong> DNS changes take time. It can take 24-48 hours until they are active worldwide (in practice often only 1-2 hours). <\/p>\n\n<h3 class=\"wp-block-heading\">The 5 most common SPF mistakes (and how to avoid them)<\/h3>\n\n<p><strong>Error #1: Multiple SPF records<\/strong><\/p>\n\n<p>\u274c <strong>Wrong<\/strong>:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com -all\nv=spf1 include:servers.mcsv.net -all\n<\/code><\/pre>\n\n<p>\u2705 <strong>That&#8217;s right:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com include:servers.mcsv.net -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\"><strong>Why:<\/strong> Only ONE SPF record is allowed per domain. Multiple records lead to errors and mail servers do not know which one to use. <\/p>\n\n<p><strong>Error #2: More than 10 DNS lookups<\/strong><\/p>\n\n<p style=\"font-size:18px\">SPF has a hard limit: a maximum of 10 DNS queries per record. Each <code>include:<\/code> counts as a lookup. If you have too many, SPF will fail.  <\/p>\n\n<p><strong>Problematic<\/strong>:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:spf1.com include:spf2.com include:spf3.com ... include:spf12.com -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">(12 lookups = too much!)<\/p>\n\n<p>\u2705 So <strong>lution:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Remove services that are no longer required<\/li>\n\n\n\n<li style=\"font-size:18px\">Enter IP addresses directly instead of  <code>include:<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">Use subdomain strategy (see below)<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Tip:<\/strong> Test your SPF record with tools such as MXToolbox or Kitterman SPF Validator &#8211; they will show you the lookup count.<\/p>\n\n<p><strong>Error #3: Syntax error (space, typo)<\/strong><\/p>\n\n<p>\u274c <strong>Wrong<\/strong>:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 ip4: 192.0.2.1 -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">(space between <code>ip4:<\/code> and IP address)<\/p>\n\n<p>\u2705 <strong>That&#8217;s right:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 ip4:192.0.2.1 -all\n<\/code><\/pre>\n\n<p><strong>Other common typos:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>incldue:<\/code>  instead of  <code>include:<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\"><code>ipv4:<\/code>  instead of  <code>ip4:<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\"><code>mxs:<\/code>  instead of  <code>mx:<\/code><\/li>\n<\/ul>\n\n<p><strong>Error #4: Forgotten or outdated entries<\/strong><\/p>\n\n<p style=\"font-size:18px\">You&#8217;re switching from Mailchimp to Brevo, but the old <code>include:servers.mcsv.net<\/code> remains in place? That&#8217;s dangerous: <\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Too many lookups (see #2)<\/li>\n\n\n\n<li style=\"font-size:18px\">Security risk: old services could be compromised<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Best practice:<\/strong> Clean up your SPF record every 6 months. Ask yourself: Are we still using it? <\/p>\n\n<p><strong>Error #5: Wrong qualifier (<code>+all<\/code> or <code>?all<\/code>)<\/strong><\/p>\n\n<p>\u274c <strong>Disaster:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com +all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">This means: &#8220;ALL may send in my name&#8221; &#8211; including fraudsters. Absolutely useless! <\/p>\n\n<p>\u2705 <strong>That&#8217;s right:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>-all<\/code>  \u2192 Strict (recommended): Everything else is rejected<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>~all<\/code>  \u2192 Soft: Everything else is marked as suspicious<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Recommendation:<\/strong> Use <code>-all<\/code> for maximum protection.<\/p>\n\n<h3 class=\"wp-block-heading\">Test SPF<\/h3>\n\n<p style=\"font-size:18px\">You should test after setting up:<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>MXToolbox SPF Record Checker:<\/strong> https:\/\/mxtoolbox.com\/spf.aspx<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Kitterman SPF Validator:<\/strong> https:\/\/www.kitterman.com\/spf\/validate.html<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Google Admin Toolbox:<\/strong> https:\/\/toolbox.googleapps.com\/apps\/checkmx\/<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\">Send yourself a test email and check the headers (for Gmail: &#8220;Show original&#8221;, for Outlook: &#8220;Message options&#8221;).<\/p>\n\n<p style=\"font-size:18px\">You should see:<\/p>\n\n<pre class=\"wp-block-code\"><code>Received-SPF: pass\n<\/code><\/pre>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">DKIM: Signatures, keys, rotation<\/h2>\n\n<p style=\"font-size:18px\">DKIM is the second component. While SPF checks WHERE a mail comes from, DKIM ensures that the mail has not been tampered with UNDERWAY. <\/p>\n\n<h3 class=\"wp-block-heading\">How DKIM works<\/h3>\n\n<p style=\"font-size:18px\">DKIM works with cryptography (similar to SSL certificates):<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>Sending:<\/strong> Your mail server signs every outgoing mail with a private key (like a digital signature)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Receive:<\/strong> The recipient server fetches the public key from your DNS<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Check:<\/strong> Does the signature match? Then the mail is genuine and unchanged <\/li>\n<\/ol>\n\n<p style=\"font-size:18px\"><strong>Analogy:<\/strong> DKIM is like a seal on a letter. If the seal is intact, the recipient knows that the letter has not been opened or altered. <\/p>\n\n<h3 class=\"wp-block-heading\">Set up DKIM: Step by step<\/h3>\n\n<p><strong>1. generate DKIM key<\/strong><\/p>\n\n<p style=\"font-size:18px\">Most e-mail providers do this automatically:<\/p>\n\n<p><strong>Google Workspace:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Admin console \u2192 Apps \u2192 Google Workspace \u2192 Gmail \u2192 Authenticate email<\/li>\n\n\n\n<li style=\"font-size:18px\">&#8220;Generate new recording&#8221; \u2192 DKIM key is created<\/li>\n\n\n\n<li style=\"font-size:18px\">You get a DNS entry to copy<\/li>\n<\/ul>\n\n<p><strong>Microsoft 365:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Microsoft 365 Defender Portal \u2192 Email &amp; Collaboration \u2192 Policies &amp; Rules<\/li>\n\n\n\n<li style=\"font-size:18px\">Activate DKIM \u2192 DNS entries are displayed<\/li>\n<\/ul>\n\n<p><strong>Mailbox.org, Ionos, Strato etc.:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Often in the email settings under &#8220;DKIM&#8221; or &#8220;Authentication&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">Follow the provider&#8217;s instructions<\/li>\n<\/ul>\n\n<p><strong>Own server (Linux):<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code># OpenDKIM installieren\nopendkim-genkey -s mail -d deine-firma.de\n<\/code><\/pre>\n\n<p>This creates two files:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>mail.private<\/code>  \u2192 Private key (keep it SECRET!)<\/li>\n\n\n\n<li><code>mail.txt<\/code>  \u2192 Public key (in the DNS)<\/li>\n<\/ul>\n\n<p><strong>2. store the DKIM record in the DNS<\/strong><\/p>\n\n<p>You get a DNS entry that looks something like this:<\/p>\n\n<pre class=\"wp-block-code\"><code>mail._domainkey IN TXT \"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...\"\n<\/code><\/pre>\n\n<p><strong>What does that mean?<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>mail._domainkey<\/code>  \u2192 Selector + subdomain (name varies)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>v=DKIM1<\/code>  \u2192 DKIM version<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>k=rsa<\/code>  \u2192 Key type (RSA encryption)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>p=...<\/code>  \u2192 Public key (very long!)<\/li>\n<\/ul>\n\n<p><strong>Enter in the DNS panel:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>Name\/host:<\/strong> <code>mail._domainkey<\/code> (or what your provider specifies)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Type:<\/strong> TXT<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Value:<\/strong> <code>v=DKIM1; k=rsa; p=MIGfMA0GC...<\/code> (complete key)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>TTL:<\/strong> 3600<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Important:<\/strong> The value is very long (several hundred characters). Some DNS providers automatically split this into several strings &#8211; that&#8217;s OK. <\/p>\n\n<p><strong>3. activate DKIM<\/strong><\/p>\n\n<p style=\"font-size:18px\">Most providers require you to explicitly activate DKIM after the DNS entry:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Google Workspace: Check the box &#8220;Enable DKIM signing for this domain&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">Microsoft 365: Toggle to &#8220;Activated&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">Own server: Start OpenDKIM service<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">DKIM key rotation: Why and how?<\/h3>\n\n<p><strong>Why rotate?<\/strong><\/p>\n\n<p style=\"font-size:18px\">Imagine your private DKIM key is compromised (server hack, insider threat). Then someone can forge emails in your name &#8211; even if SPF and DMARC are active. <\/p>\n\n<p style=\"font-size:18px\"><strong>Best practice:<\/strong> Change the key every 6-12 months.<\/p>\n\n<p><strong>How to rotate?<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>Generate new key<\/strong> (other selector, e.g. <code>mail2024._domainkey<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\">Store <strong>both keys in parallel in the DNS<\/strong> (old + new)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Change mail server to new key<\/strong><\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Remove old key from DNS after 48 hours<\/strong><\/li>\n<\/ol>\n\n<p style=\"font-size:18px\"><strong>Practical tip:<\/strong> With Google Workspace and Microsoft 365, this happens automatically for the most part. You only have to enter new DNS entries occasionally if the provider requires this. <\/p>\n\n<h3 class=\"wp-block-heading\">Test DKIM<\/h3>\n\n<p style=\"font-size:18px\">After DKIM is set up:<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"padding-top:0;padding-bottom:0\"><strong>DKIM Validator:<\/strong> https:\/\/dkimvalidator.com\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Send a test e-mail to the address shown<\/li>\n\n\n\n<li style=\"font-size:18px\">You will receive a report on whether DKIM works<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Check mail header:<\/strong>\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Send yourself a test e-mail<\/li>\n\n\n\n<li style=\"font-size:18px\">View header (as with SPF)<\/li>\n\n\n\n<li style=\"font-size:18px\">Search for: <code>DKIM-Signature:<\/code> and  <code>dkim=pass<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\">You should see:<\/p>\n\n<pre class=\"wp-block-code\"><code>DKIM-Signature: v=1; a=rsa-sha256; d=deine-firma.de; s=mail; ...\nAuthentication-Results: dkim=pass\n<\/code><\/pre>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">DMARC: start with &#8220;p=none&#8221;, read reports, then harden<\/h2>\n\n<p style=\"font-size:18px\">DMARC is the conductor that orchestrates SPF and DKIM. It tells the receiving servers: &#8220;If SPF OR DKIM fail, do the following&#8230;&#8221; <\/p>\n\n<h3 class=\"wp-block-heading\">How DMARC works<\/h3>\n\n<p style=\"font-size:18px\">DMARC checks two things:<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>SPF alignment:<\/strong> Does the domain in the SPF check match the &#8220;From&#8221; address?<\/li>\n\n\n\n<li><strong>DKIM alignment:<\/strong> Does the signed domain match the &#8220;From&#8221; address?<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\">If at least ONE of them passes \u2192 DMARC pass. If both fail \u2192 DMARC fail. <\/p>\n\n<p><strong>What happens with DMARC fail?<\/strong><\/p>\n\n<p style=\"font-size:18px\">YOU determine this with your DMARC policy:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>p=none<\/code>  \u2192 Do nothing, just report<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>p=quarantine<\/code>  \u2192 Off to the spam<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>p=reject<\/code>  \u2192 Reject completely<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">DMARC policy: The 3 stages<\/h3>\n\n<p><strong>Phase 1: Monitoring (<code>p=none<\/code>)<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=none; rua=mailto:dmarc@deine-firma.de\n<\/code><\/pre>\n\n<p><strong>What happens:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Recipient servers handle mails normally (even if they fail)<\/li>\n\n\n\n<li style=\"font-size:18px\">You will receive daily reports to  <code>dmarc@deine-firma.de<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">You see: Who is sending on my behalf? Where are there problems? <\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Duration:<\/strong> At least 4 weeks, preferably 8-12 weeks.<\/p>\n\n<p><strong>Why so long?<\/strong><\/p>\n\n<p style=\"font-size:18px\">You must identify all email sources. Some newsletters only go out monthly, some systems only send out quarterly reports. If you go to <code>quarantine<\/code> too early, your own emails will end up in spam.  <\/p>\n\n<p><strong>Phase 2: Quarantine (<code>p=quarantine<\/code>)<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc@deine-firma.de\n<\/code><\/pre>\n\n<p><strong>What happens:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Mails that are DMARC fail end up in the spam folder<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>pct=10<\/code>  means: Only 10% of failed mails are sorted out (gradual introduction!)<\/li>\n\n\n\n<li style=\"font-size:18px\">You will continue to receive reports<\/li>\n<\/ul>\n\n<p><strong>Procedure:<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">Start with <code>pct=10<\/code> (10%)<\/li>\n\n\n\n<li style=\"font-size:18px\">After 1-2 weeks: <code>pct=25<\/code> (25%)<\/li>\n\n\n\n<li style=\"font-size:18px\">After another 2 weeks:  <code>pct=50<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">Step by step until  <code>pct=100<\/code><\/li>\n<\/ol>\n\n<p style=\"font-size:18px\"><strong>Important:<\/strong> Check the reports! Are your own mails ending up in spam? Then improve SPF\/DKIM.  <\/p>\n\n<p><strong>Phase 3: Reject (<code>p=reject<\/code>) &#8211; The goal<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=reject; rua=mailto:dmarc@deine-firma.de; ruf=mailto:dmarc-forensic@deine-firma.de\n<\/code><\/pre>\n\n<p><strong>What happens:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Mails that are DMARC fail are completely rejected<\/li>\n\n\n\n<li style=\"font-size:18px\">They don&#8217;t even reach the spam folder<\/li>\n\n\n\n<li style=\"font-size:18px\">Maximum protection against spoofing<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Attention:<\/strong> There&#8217;s no going back here. Incorrect configuration = your mails will not arrive. <\/p>\n\n<p><strong>Additional tags:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>ruf=<\/code>  \u2192 Forensic reports (detailed for each error, note data protection!)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>sp=<\/code>  \u2192 Policy for subdomains (e.g. <code>sp=reject<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>adkim=<\/code>  \u2192 DKIM alignment mode (<code>s<\/code> = strict, <code>r<\/code> = relaxed)<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>aspf=<\/code>  \u2192 SPF alignment mode<\/li>\n<\/ul>\n\n<p><strong>Example of a complete DMARC record:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@deine-firma.de; ruf=mailto:dmarc-forensic@deine-firma.de; pct=100; adkim=r; aspf=r\n<\/code><\/pre>\n\n<h3 class=\"wp-block-heading\">Read (and understand) DMARC reports<\/h3>\n\n<p style=\"font-size:18px\">DMARC reports are XML files and look cryptic. Here is an example: <\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;feedback&gt;\n  &lt;record&gt;\n    &lt;row&gt;\n      &lt;source_ip&gt;192.0.2.1&lt;\/source_ip&gt;\n      &lt;count&gt;42&lt;\/count&gt;\n      &lt;policy_evaluated&gt;\n        &lt;disposition&gt;none&lt;\/disposition&gt;\n        &lt;dkim&gt;pass&lt;\/dkim&gt;\n        &lt;spf&gt;pass&lt;\/spf&gt;\n      &lt;\/policy_evaluated&gt;\n    &lt;\/row&gt;\n  &lt;\/record&gt;\n&lt;\/feedback&gt;\n<\/code><\/pre>\n\n<p><strong>What does it say?<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>source_ip<\/code>: Which IP was sent from?<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>count<\/code>: How many mails?<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>dkim<\/code>Did DKIM work?<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>spf<\/code>Did SPF work?<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>disposition<\/code>: What was done? (none\/quarantine\/reject) <\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Problem:<\/strong> Raw XML reports are cumbersome.<\/p>\n\n<p><strong>Solution: Use DMARC analysis tools<\/strong><\/p>\n\n<p><strong>Free tools:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>DMARCian<\/strong> (up to 1 domain free of charge)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Postmark DMARC Monitoring<\/strong><\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>MXToolbox DMARC Analyzer<\/strong> (limited free of charge)<\/li>\n<\/ul>\n\n<p><strong>What these tools show:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Which IP addresses are sending on your behalf?<\/li>\n\n\n\n<li style=\"font-size:18px\">How many mails fit\/fail?<\/li>\n\n\n\n<li style=\"font-size:18px\">Which services have problems?<\/li>\n\n\n\n<li style=\"font-size:18px\">Visualized statistics instead of an XML desert<\/li>\n<\/ul>\n\n<p><strong>Typical findings from reports:<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">&#8220;Oh, our old CRM is still sending emails &#8211; we forgot to enter that in SPF!&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">&#8220;Someone in China is trying to spoof our domain (and failing)&#8221;<\/li>\n\n\n\n<li style=\"font-size:18px\">&#8220;Our newsletter tool has not configured DKIM correctly&#8221;<\/li>\n<\/ol>\n\n<h3 class=\"wp-block-heading\">Store DMARC in the DNS<\/h3>\n\n<p style=\"font-size:18px\">DMARC is also a DNS TXT record:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>Name\/Host:<\/strong> <code>_dmarc<\/code> (or <code>_dmarc.deine-firma.de<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Type:<\/strong> TXT<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Value:<\/strong> <code>v=DMARC1; p=none; rua=mailto:dmarc@deine-firma.de<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>TTL:<\/strong> 3600<\/li>\n<\/ul>\n\n<p><strong>Start recommendation:<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=none; rua=mailto:dmarc@deine-firma.de; ruf=mailto:dmarc-forensic@deine-firma.de; pct=100; adkim=r; aspf=r\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">This means:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Monitoring mode<\/li>\n\n\n\n<li style=\"font-size:18px\">Reports to your e-mail address<\/li>\n\n\n\n<li style=\"font-size:18px\">100% of the mails are checked<\/li>\n\n\n\n<li style=\"font-size:18px\">Relaxed alignment (more flexible, fewer false positives)<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Test DMARC<\/h3>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>MXToolbox DMARC Checker:<\/strong> https:\/\/mxtoolbox.com\/dmarc.aspx<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Google Admin Toolbox:<\/strong> https:\/\/toolbox.googleapps.com\/apps\/checkmx\/<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>DMARCian:<\/strong> Create a free monitoring account<\/li>\n<\/ol>\n\n<p style=\"font-size:18px\">The first reports should arrive in your mailbox after 24-48 hours.<\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Special cases: Newsletter tools, CRM, redirects, subdomains<\/h2>\n\n<p style=\"font-size:18px\">The theory is clear. The practice? Often more complicated. Here are the most common stumbling blocks:   <\/p>\n\n<h3 class=\"wp-block-heading\">Newsletter tools (Mailchimp, Brevo, CleverReach etc.)<\/h3>\n\n<p style=\"font-size:18px\"><strong>Problem:<\/strong> Newsletter tools send newsletters from their own servers, but with your sender address (<code>newsletter@deine-firma.de<\/code>).<\/p>\n\n<p><strong>Solution:<\/strong><\/p>\n\n<p><strong>Option A: Use subdomain (recommended)<\/strong><\/p>\n\n<p style=\"font-size:18px\">Instead of <code>newsletter@deine-firma.de<\/code> \u2192  <code>newsletter@news.deine-firma.de<\/code><\/p>\n\n<p>Advantages:<\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Own SPF\/DKIM\/DMARC record for subdomain<\/li>\n\n\n\n<li style=\"font-size:18px\">Main domain remains clean<\/li>\n\n\n\n<li style=\"font-size:18px\">More control<\/li>\n<\/ul>\n\n<p>Setup:<\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\">Create subdomain (e.g. <code>news.deine-firma.de<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\">SPF record only for newsletter tool:  <code>v=spf1 include:servers.mcsv.net -all<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">Store DKIM from the newsletter tool in the subdomain DNS<\/li>\n\n\n\n<li style=\"font-size:18px\">DMARC for subdomain:  <code>v=DMARC1; p=reject; rua=mailto:dmarc@deine-firma.de<\/code><\/li>\n<\/ol>\n\n<p><strong>Option B: Integrate newsletter tool into main SPF<\/strong><\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:_spf.google.com include:servers.mcsv.net -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">Attention: Counts as one of your 10 DNS lookups!<\/p>\n\n<h3 class=\"wp-block-heading\">CRM systems (HubSpot, Salesforce, Pipedrive)<\/h3>\n\n<p style=\"font-size:18px\"><strong>Problem:<\/strong> CRMs send automated emails, offers and reminders &#8211; often with your domain as the sender.<\/p>\n\n<p><strong>Solution:<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>SPF:<\/strong> Add CRM to your SPF record  <code>v=spf1 include:_spf.google.com include:spf.hubspot.com -all<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>DKIM:<\/strong> CRM DKIM key in the DNS (follow the CRM provider&#8217;s instructions)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Custom domain:<\/strong> Many CRMs offer &#8220;custom tracking domains&#8221; (e.g. <code>track.deine-firma.de<\/code>) &#8211; take advantage of this!<\/li>\n<\/ol>\n\n<h3 class=\"wp-block-heading\">E-mail forwards<\/h3>\n\n<p style=\"font-size:18px\"><strong>Problem:<\/strong> Employees forward mails from <code>max@deine-firma.de<\/code> to <code>max.privat@gmail.com<\/code>. SPF fails because Gmail is not in your SPF record. <\/p>\n\n<p style=\"font-size:18px\"><strong>Why:<\/strong> The mail comes from your server, but is forwarded by Gmail \u2192 SPF checks the original IP, which no longer matches.<\/p>\n\n<p style=\"font-size:18px\"><strong>Solution:<\/strong><\/p>\n\n<p style=\"font-size:18px\"><strong>Option A: SRS (Sender Rewriting Scheme)<\/strong> Your mail server must support SRS (often standard with modern hosts). SRS rewrites the &#8220;return path&#8221; so that SPF works. <\/p>\n\n<p style=\"font-size:18px\"><strong>Option B: DMARC alignment via DKIM<\/strong> As long as DKIM matches, DMARC is OK (even if SPF fails). Make sure that your server signs DKIM. <\/p>\n\n<p style=\"font-size:18px\"><strong>Option C: ARC (Authenticated Received Chain)<\/strong> Newer protocol that &#8220;remembers&#8221; redirects and still authenticates them. Supported by Gmail, Microsoft and Yahoo. <\/p>\n\n<h3 class=\"wp-block-heading\">Subdomains (marketing.your-company.com, store.your-company.com)<\/h3>\n\n<p style=\"font-size:18px\"><strong>Best practice:<\/strong> Each active subdomain should have its own SPF\/DKIM\/DMARC records.<\/p>\n\n<p><strong>Why:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Better control<\/li>\n\n\n\n<li style=\"font-size:18px\">Separation of concerns (marketing \u2260 transactional emails)<\/li>\n\n\n\n<li style=\"font-size:18px\">Prevents a subdomain problem from affecting your main domain<\/li>\n<\/ul>\n\n<p><strong>Setup:<\/strong><\/p>\n\n<p><strong>For <code>shop.deine-firma.de<\/code>:<\/strong><\/p>\n\n<p style=\"font-size:18px\">SPF:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=spf1 include:shopify.com -all\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">DKIM:<\/p>\n\n<pre class=\"wp-block-code\"><code>(Shopify-DKIM-Schl\u00fcssel)\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">DMARC:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=reject; rua=mailto:dmarc@deine-firma.de\n<\/code><\/pre>\n\n<p><strong>For unused subdomains:<\/strong><\/p>\n\n<p style=\"font-size:18px\">Set a &#8220;zero&#8221; DMARC record to prevent misuse:<\/p>\n\n<pre class=\"wp-block-code\"><code>v=DMARC1; p=reject; rua=mailto:dmarc@deine-firma.de\n<\/code><\/pre>\n\n<p style=\"font-size:18px\">Even without SPF\/DKIM, this signals: &#8220;NOBODY is allowed to send here.&#8221;<\/p>\n\n<h3 class=\"wp-block-heading\">Third-party services with their own sender domain<\/h3>\n\n<p style=\"font-size:18px\"><strong>Problem:<\/strong> Some tools (e.g. ticket systems, forms) send from their own domain, but show your company as &#8220;Reply-To&#8221;.<\/p>\n\n<p style=\"font-size:18px\"><strong>Example:<\/strong><\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Sender:  <code>noreply@ticketsystem.com<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">Reply-To:  <code>support@deine-firma.de<\/code><\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>Solution:<\/strong> You don&#8217;t need to do anything here! SPF\/DKIM\/DMARC only apply to the &#8220;From&#8221; domain (<code>ticketsystem.com<\/code>), not to &#8220;Reply-To&#8221;. <\/p>\n\n<p style=\"font-size:18px\"><strong>But:<\/strong> If possible, use a custom domain (e.g. <code>tickets.deine-firma.de<\/code>) for a more professional appearance.<\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Summary: Your 30-day checklist<\/h2>\n\n<p style=\"font-size:18px\">Here is your concrete roadmap for SPF\/DKIM\/DMARC:<\/p>\n\n<h3 class=\"wp-block-heading\">Week 1: Inventory<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] List ALL e-mail sources (hosting, newsletter, CRM, store, etc.)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Check current SPF record (if available):  <code>dig TXT deine-firma.de<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Check current DKIM status (analyze mail header)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Check current DMARC status:  <code>dig TXT _dmarc.deine-firma.de<\/code><\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Week 2: Set up SPF<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] Create SPF record (include all sources)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Pay attention to under 10 DNS lookups<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Store in DNS (TXT record at <code>@<\/code> or domain)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Test with MXToolbox<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Send test mail and check header<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Week 3: Activate DKIM<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] Activate DKIM at the e-mail provider (Google\/Microsoft\/etc.)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Copy DNS record from provider<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Store in DNS (e.g. <code>mail._domainkey<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Activate DKIM (in the provider panel)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Test with DKIM Validator<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Send test mail and check header<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Week 4: DMARC on monitoring<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] Create DMARC record:  <code>p=none<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Create e-mail address for reports (e.g. <code>dmarc@deine-firma.de<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Store in DNS (TXT record at <code>_dmarc<\/code>)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Test with MXToolbox DMARC-Checker<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Waiting for first reports (24-48h)<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Weeks 5-12: Monitoring &amp; optimization<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] Check reports weekly (use tool such as DMARCian)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Add missing SPF\/DKIM entries<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Identify unknown IPs (legitimate or attacker?)<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Fix false positives<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">Week 13+: Hardening<\/h3>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">[ ] Set DMARC to <code>p=quarantine; pct=10<\/code> <\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Check reports: Do your own mails end up in spam?<\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Increase step by step to <code>pct=100<\/code> <\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] After 4-8 weeks:  <code>p=reject<\/code><\/li>\n\n\n\n<li style=\"font-size:18px\">[ ] Celebrations \ud83c\udf89<\/li>\n<\/ul>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Frequently asked questions (FAQ)<\/h2>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-37&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-37-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-37\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong>Do I really need all three (SPF, DKIM, DMARC)?<\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-37\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-37-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">Technically, you could just have SPF. But: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Without DKIM: recipients trust you less, poorer delivery rates<\/li>\n\n\n\n<li style=\"font-size:16px\">Without DMARC: No protection against spoofing, no reports on misuse<\/li>\n\n\n\n<li style=\"font-size:16px\">Best practice: All three together<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-38&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-38-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-38\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong>What happens if I do not set up SPF\/DKIM\/DMARC?<\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-38\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-38-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">Short term: Nothing dramatic. Long term: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Your emails end up in spam more often<\/li>\n\n\n\n<li style=\"font-size:16px\">Google\/Microsoft\/Yahoo mark you as dubious<\/li>\n\n\n\n<li style=\"font-size:16px\">Fraudsters can forge your domain more easily<\/li>\n\n\n\n<li style=\"font-size:16px\">From 5,000 mails\/day: Mails are blocked (Google requirement since 2024)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-39&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-39-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-39\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong>How long does the complete installation take?<\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-39\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-39-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">SPF: 30-60 minutes<\/li>\n\n\n\n<li style=\"font-size:16px\">DKIM: 30-60 minutes (if provider supported)<\/li>\n\n\n\n<li style=\"font-size:16px\">DMARC: 15 minutes for  <code>p=none<\/code><\/li>\n\n\n\n<li style=\"font-size:16px\">Monitoring: 4-12 weeks<\/li>\n\n\n\n<li style=\"font-size:16px\">Hardening on <code>p=reject<\/code>: Another 4-8 weeks<\/li>\n<\/ul>\n\n\n\n<p style=\"font-size:16px\"><strong>Total:<\/strong> 2-4 hours of work, 8-20 weeks of gradual roll-out.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-40&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-40-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-40\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong>Can I start directly with <code>p=reject<\/code>?<\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-40\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-40-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">Theoretically yes, practically: NO! 99% of the time you have some forgotten e-mail service that is then blocked. Always start with <code>p=none<\/code>.  <\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-41&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-41-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-41\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong>Do I have to create separate records for each subdomain?<\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-41\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-41-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">Recommended: Yes. Minimum: For all subdomains that send emails. <\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-42&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-42-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-42\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong><strong>What does it cost?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-42\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-42-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">SPF\/DKIM\/DMARC itself: Free of charge (standard protocols)<\/li>\n\n\n\n<li style=\"font-size:18px\">DNS management: Usually included in the hosting package<\/li>\n\n\n\n<li style=\"font-size:18px\">DMARC monitoring tools: 0-50 \u20ac\/month (depending on tool and number of domains)<\/li>\n\n\n\n<li style=\"font-size:18px\">External support (if necessary): 150-500 \u20ac for one-time setup<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-43&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-43-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-43\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong><strong>Does SPF\/DKIM\/DMARC help against spam?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-43\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-43-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">No, not directly. They prevent OTHERS from misusing your domain for spam. You need antivirus filters and anti-spam solutions against incoming spam.  <\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-44&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-44-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-44\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong><strong><strong>What is the difference between SPF <code>~all<\/code> and <code>-all<\/code>?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-44\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-44-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><code>~all<\/code>  (softfail): &#8220;If it fails, that&#8217;s suspicious, but not certainly bad&#8221; \u2192 Mail is flagged, but usually delivered<\/li>\n\n\n\n<li style=\"font-size:18px\"><code>-all<\/code>  (Hardfail): &#8220;If it fails, it&#8217;s definitely wrong&#8221; \u2192 Mail is rejected<\/li>\n<\/ul>\n\n\n\n<p style=\"font-size:18px\">Recommendation: <code>-all<\/code> for maximum protection.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-45&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-45-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-45\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong><strong><strong><strong>My reports show many failures. What now?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-45\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-45-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\">Check the IP addresses: Own services or third parties?<\/li>\n\n\n\n<li style=\"font-size:18px\">Own services: Supplement SPF\/DKIM<\/li>\n\n\n\n<li style=\"font-size:18px\">Strangers: These are probably spoofing attempts \u2192 good thing DMARC is blocking them!<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-46&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-46-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-46\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong><strong><strong><strong><strong><strong><strong>Can I have DMARC without DKIM?<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-46\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-46-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p style=\"font-size:16px\">Yes, but not recommended. DMARC needs at least SPF OR DKIM. For maximum security: both.  <\/p>\n<\/div>\n<\/div>\n<\/div>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Checklist: SPF\/DKIM\/DMARC setup (PDF-Download)<\/h2>\n\n<p style=\"font-size:18px\"><a href=\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/SPF-DKIM-DMARC-Checkliste.pdf\">Get the complete checklist as a PDF now:<\/a><\/p>\n\n<p style=\"font-size:18px\">\u2705 Step-by-step instructions for all three protocols<br\/>\u2705 DNS record examples for copy-pasting<br\/>\u2705 Common mistakes and how to avoid them<br\/>\u2705 Tools and links for testing<br\/>\u2705 30-day project plan<\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<h2 class=\"wp-block-heading\">Conclusion: Your email domain is worth its weight in gold &#8211; protect it<\/h2>\n\n<p style=\"font-size:18px\">SPF, DKIM and DMARC sound complicated, but they can be set up in 2-3 hours. And the protection they offer is priceless: <\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>No more spoofing attacks<\/strong> in your name<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Better delivery rates<\/strong> (fewer spam flags)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Compliance<\/strong> with modern e-mail standards<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Transparency<\/strong> about attempted abuse (DMARC reports)<\/li>\n<\/ul>\n\n<p style=\"font-size:18px\"><strong>2026 is the year in which email authentication will become mandatory<\/strong> &#8211; not just for large corporations, but for everyone. Those who act now will be prepared. <\/p>\n\n<h3 class=\"wp-block-heading\">Do you need support?<\/h3>\n\n<p style=\"font-size:18px\">Setting up SPF\/DKIM\/DMARC is doable, but sometimes you just want to make sure that everything is configured correctly. We are happy to help you &#8211; flexibly and without fixed contracts: <\/p>\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:18px\"><strong>Email setup check:<\/strong> We check your current configuration (30 min., from \u20ac49)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Complete setup:<\/strong> We set up SPF\/DKIM\/DMARC for you (2-3 hours)<\/li>\n\n\n\n<li style=\"font-size:18px\"><strong>Monitoring support:<\/strong> We analyze your DMARC reports and optimize them continuously<\/li>\n<\/ul>\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/itsupport.online\/en\/contact-us\/\">\ud83d\uddd3\ufe0f Book a flexible appointment now<\/a><\/p>\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n<p><strong>About itsupport.online:<\/strong> We are your partner for reliable IT support &#8211; online, throughout Germany and without a contract. From email security and cloud solutions to complete IT setups: you book exactly the help you need, when you need it. <\/p>\n","protected":false},"excerpt":{"rendered":"SPF\/DKIM\/DMARC: the setup that every company should have Your emails end up in spam. Or worse: scammers send&hellip;","protected":false},"author":3,"featured_media":2775,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_display_header_overlay":false,"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_location_hash":"","csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"csco_post_video_bg_volume":false,"footnotes":""},"categories":[89,84],"tags":[],"class_list":{"0":"post-2774","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-protection-compliance","8":"category-it-problems-troubleshooting","9":"cs-entry","10":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SPF\/DKIM\/DMARC - itsupport.online<\/title>\n<meta name=\"description\" content=\"DMARC 2025: Google &amp; Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly &amp; avoid delivery issues \u2013 complete guide for small businesses.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SPF\/DKIM\/DMARC - itsupport.online\" \/>\n<meta property=\"og:description\" content=\"DMARC 2025: Google &amp; Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly &amp; avoid delivery issues \u2013 complete guide for small businesses.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\" \/>\n<meta property=\"og:site_name\" content=\"itsupport.online\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-01T11:03:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-03T16:13:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mariia Robak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mariia Robak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\"},\"author\":{\"name\":\"Mariia Robak\",\"@id\":\"https:\/\/itsupport.online\/en\/#\/schema\/person\/2de386c5e166aee097fde3205d357944\"},\"headline\":\"SPF\/DKIM\/DMARC\",\"datePublished\":\"2026-02-01T11:03:24+00:00\",\"dateModified\":\"2026-03-03T16:13:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\"},\"wordCount\":3271,\"publisher\":{\"@id\":\"https:\/\/itsupport.online\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png\",\"articleSection\":[\"Data Protection &amp; Compliance\",\"IT Problems &amp; Troubleshooting\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\",\"url\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\",\"name\":\"SPF\/DKIM\/DMARC - itsupport.online\",\"isPartOf\":{\"@id\":\"https:\/\/itsupport.online\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png\",\"datePublished\":\"2026-02-01T11:03:24+00:00\",\"dateModified\":\"2026-03-03T16:13:02+00:00\",\"description\":\"DMARC 2025: Google & Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly & avoid delivery issues \u2013 complete guide for small businesses.\",\"breadcrumb\":{\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage\",\"url\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png\",\"contentUrl\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png\",\"width\":2560,\"height\":1280,\"caption\":\"SPF\/DKIM\/DMARC\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/itsupport.online\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SPF\/DKIM\/DMARC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/itsupport.online\/en\/#website\",\"url\":\"https:\/\/itsupport.online\/en\/\",\"name\":\"itsupport.online\",\"description\":\"ITSUPPORT.online\",\"publisher\":{\"@id\":\"https:\/\/itsupport.online\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/itsupport.online\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/itsupport.online\/en\/#organization\",\"name\":\"itsupport.online\",\"url\":\"https:\/\/itsupport.online\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/itsupport.online\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/01\/696x696-logo.png\",\"contentUrl\":\"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/01\/696x696-logo.png\",\"width\":696,\"height\":696,\"caption\":\"itsupport.online\"},\"image\":{\"@id\":\"https:\/\/itsupport.online\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/itsupport.online\/en\/#\/schema\/person\/2de386c5e166aee097fde3205d357944\",\"name\":\"Mariia Robak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g\",\"caption\":\"Mariia Robak\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SPF\/DKIM\/DMARC - itsupport.online","description":"DMARC 2025: Google & Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly & avoid delivery issues \u2013 complete guide for small businesses.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/","og_locale":"en_US","og_type":"article","og_title":"SPF\/DKIM\/DMARC - itsupport.online","og_description":"DMARC 2025: Google & Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly & avoid delivery issues \u2013 complete guide for small businesses.","og_url":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/","og_site_name":"itsupport.online","article_published_time":"2026-02-01T11:03:24+00:00","article_modified_time":"2026-03-03T16:13:02+00:00","og_image":[{"width":2560,"height":1280,"url":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png","type":"image\/png"}],"author":"Mariia Robak","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mariia Robak","Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#article","isPartOf":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/"},"author":{"name":"Mariia Robak","@id":"https:\/\/itsupport.online\/en\/#\/schema\/person\/2de386c5e166aee097fde3205d357944"},"headline":"SPF\/DKIM\/DMARC","datePublished":"2026-02-01T11:03:24+00:00","dateModified":"2026-03-03T16:13:02+00:00","mainEntityOfPage":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/"},"wordCount":3271,"publisher":{"@id":"https:\/\/itsupport.online\/en\/#organization"},"image":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage"},"thumbnailUrl":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png","articleSection":["Data Protection &amp; Compliance","IT Problems &amp; Troubleshooting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/","url":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/","name":"SPF\/DKIM\/DMARC - itsupport.online","isPartOf":{"@id":"https:\/\/itsupport.online\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage"},"image":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage"},"thumbnailUrl":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png","datePublished":"2026-02-01T11:03:24+00:00","dateModified":"2026-03-03T16:13:02+00:00","description":"DMARC 2025: Google & Microsoft block emails without SPF\/DKIM\/DMARC. Configure DNS correctly & avoid delivery issues \u2013 complete guide for small businesses.","breadcrumb":{"@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#primaryimage","url":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png","contentUrl":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/02\/Blog-Header-2-scaled.png","width":2560,"height":1280,"caption":"SPF\/DKIM\/DMARC"},{"@type":"BreadcrumbList","@id":"https:\/\/itsupport.online\/en\/spf-dkim-dmarc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/itsupport.online\/en\/"},{"@type":"ListItem","position":2,"name":"SPF\/DKIM\/DMARC"}]},{"@type":"WebSite","@id":"https:\/\/itsupport.online\/en\/#website","url":"https:\/\/itsupport.online\/en\/","name":"itsupport.online","description":"ITSUPPORT.online","publisher":{"@id":"https:\/\/itsupport.online\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itsupport.online\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/itsupport.online\/en\/#organization","name":"itsupport.online","url":"https:\/\/itsupport.online\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/itsupport.online\/en\/#\/schema\/logo\/image\/","url":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/01\/696x696-logo.png","contentUrl":"https:\/\/itsupport.online\/wp-content\/uploads\/2026\/01\/696x696-logo.png","width":696,"height":696,"caption":"itsupport.online"},"image":{"@id":"https:\/\/itsupport.online\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/itsupport.online\/en\/#\/schema\/person\/2de386c5e166aee097fde3205d357944","name":"Mariia Robak","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/74afb8db8978caafa0a0629287f6a1d4e5efff68ec8661644ded15ba21d3115c?s=96&d=mm&r=g","caption":"Mariia Robak"}}]}},"_links":{"self":[{"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/posts\/2774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/comments?post=2774"}],"version-history":[{"count":2,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/posts\/2774\/revisions"}],"predecessor-version":[{"id":2834,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/posts\/2774\/revisions\/2834"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/media\/2775"}],"wp:attachment":[{"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/media?parent=2774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/categories?post=2774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsupport.online\/en\/wp-json\/wp\/v2\/tags?post=2774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}