<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ReplikanteK</title>
    <description>The latest articles on DEV Community by ReplikanteK (@securitool).</description>
    <link>https://dev.to/securitool</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3948994%2F8b9949bd-cfae-4aa5-b119-eb3956d20e41.jpeg</url>
      <title>DEV Community: ReplikanteK</title>
      <link>https://dev.to/securitool</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/securitool"/>
    <language>en</language>
    <item>
      <title>How to Check If Your Email Is Protected with SPF, DKIM and DMARC</title>
      <dc:creator>ReplikanteK</dc:creator>
      <pubDate>Sun, 24 May 2026 12:04:52 +0000</pubDate>
      <link>https://dev.to/securitool/como-comprobar-si-tu-email-esta-protegido-con-spf-dkim-y-dmarc-1c6</link>
      <guid>https://dev.to/securitool/como-comprobar-si-tu-email-esta-protegido-con-spf-dkim-y-dmarc-1c6</guid>
      <description>&lt;h1&gt;
  
  
  How to Check If Your Email Is Protected with SPF, DKIM and DMARC
&lt;/h1&gt;

&lt;h1&gt;How to Check If Your Email Is Protected with SPF, DKIM and DMARC&lt;/h1&gt;

&lt;p&gt;&lt;span&gt;May 24, 2026&lt;/span&gt;&lt;span&gt;8 min read&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;If you own a domain and use email, you need three DNS records to keep your messages out of spam folders and prevent impersonation: &lt;strong&gt;SPF, DKIM, and DMARC&lt;/strong&gt;. Without them, anyone can send forged emails from your domain (phishing, spoofing).&lt;/p&gt;

&lt;p&gt;This guide walks you through checking whether your domain has them configured correctly using the &lt;a href="../tools/email-security.html"&gt;Email Security Checker&lt;/a&gt; from SecuriTool, and how to interpret each result.&lt;/p&gt;

&lt;p&gt;✅ Open the checker in another tab while you read:&lt;/p&gt;

&lt;p&gt;&lt;a href="../tools/email-security.html"&gt;Email Security Checker →&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;What Are SPF, DKIM, and DMARC?&lt;/h2&gt;

&lt;p&gt;These three email authentication mechanisms work together. None is sufficient on its own:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Record&lt;/th&gt;
&lt;th&gt;What It Does&lt;/th&gt;
&lt;th&gt;What It Protects Against&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SPF&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lists the servers authorized to send email for your domain&lt;/td&gt;
&lt;td&gt;Anyone sending from an unauthorized IP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DKIM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Digitally signs emails with a public key in your DNS&lt;/td&gt;
&lt;td&gt;Message tampering in transit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DMARC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tells receivers what to do when SPF or DKIM fail (none/quarantine/reject)&lt;/td&gt;
&lt;td&gt;Direct domain spoofing and phishing&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;Step 1: Open the Email Security Checker&lt;/h2&gt;

&lt;p&gt;Navigate to the &lt;a href="../tools/email-security.html"&gt;Email Security Checker&lt;/a&gt;. You will see a single input field for a domain name.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; The entire analysis runs in your browser via DNS-over-HTTPS. No data is sent to any server — not your domain, not the results.&lt;/p&gt;

&lt;h2&gt;Step 2: Enter Your Domain&lt;/h2&gt;

&lt;p&gt;Type the domain you want to check (for example, &lt;code&gt;example.com&lt;/code&gt;) and click "Check". The tool queries DNS records and displays results within seconds.&lt;/p&gt;

&lt;h2&gt;Step 3: Interpret the Results&lt;/h2&gt;

&lt;h3&gt;SPF&lt;/h3&gt;

&lt;p&gt;A correct SPF record looks like this:&lt;/p&gt;

&lt;pre&gt;v=spf1 include:_spf.google.com ~all&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;What to look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Pass:&lt;/strong&gt; A valid SPF record exists. You will see the list of authorized servers.&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;SoftFail&lt;/strong&gt; or &lt;code&gt;~all&lt;/code&gt;: SPF exists but is not strict — unauthorized servers are marked as suspicious but not rejected.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Not found:&lt;/strong&gt; No SPF record. Your emails can be spoofed trivially.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Error:&lt;/strong&gt; Too many DNS lookups (exceeds 10). Many receivers will ignore the SPF entirely.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;🔧 How to Fix SPF&lt;/h3&gt;

&lt;p&gt;For Google Workspace, add this TXT record to your DNS:&lt;/p&gt;

&lt;pre&gt;v=spf1 include:_spf.google.com ~all&lt;/pre&gt;

&lt;p&gt;For Microsoft 365:&lt;/p&gt;

&lt;pre&gt;v=spf1 include:spf.protection.outlook.com ~all&lt;/pre&gt;

&lt;p&gt;Once verified, change &lt;code&gt;~all&lt;/code&gt; to &lt;code&gt;-all&lt;/code&gt; to reject unauthorized senders.&lt;/p&gt;

&lt;h3&gt;DKIM&lt;/h3&gt;

&lt;p&gt;DKIM requires two parts: a public key in your DNS (generated by your email provider) and signing enabled on your mail server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Valid:&lt;/strong&gt; A DKIM key was found with correct format. The selector and key details are shown.&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Weak:&lt;/strong&gt; The key uses RSA 1024-bit or less. Consider upgrading to 2048-bit.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Not found:&lt;/strong&gt; No DKIM record. Generate one from your email provider and add it to DNS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;🔧 How to Set Up DKIM&lt;/h3&gt;

&lt;p&gt;In Google Workspace: Admin → Apps → Gmail → Authenticate email → Generate new record. Copy the TXT record to your DNS.&lt;/p&gt;

&lt;p&gt;In Microsoft 365: Admin portal → Exchange → Protection → DKIM → Enable and rotate keys.&lt;/p&gt;

&lt;h3&gt;DMARC&lt;/h3&gt;

&lt;p&gt;DMARC is the policy that decides what happens when SPF or DKIM fail. Without DMARC, attackers can spoof your domain even if you have SPF and DKIM.&lt;/p&gt;

&lt;p&gt;A typical DMARC policy:&lt;/p&gt;

&lt;pre&gt;v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;What to look for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Pass:&lt;/strong&gt; DMARC is configured with a policy. The tool displays the active policy.&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Monitoring&lt;/strong&gt; (&lt;code&gt;p=none&lt;/code&gt;): DMARC exists but enforces nothing. Useful for initial testing, but does not actively protect.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Not found:&lt;/strong&gt; No DMARC record. No spoofing protection.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Policy&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;When to Use&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;p=none&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Monitor only, no blocking&lt;/td&gt;
&lt;td&gt;First few days to ensure no false positives&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;p=quarantine&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Suspicious emails go to spam&lt;/td&gt;
&lt;td&gt;Transition phase after monitoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;p=reject&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Emails failing SPF/DKIM are rejected&lt;/td&gt;
&lt;td&gt;Goal state. Full protection&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;🔧 How to Implement DMARC Gradually&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Week 1:&lt;/strong&gt; &lt;code&gt;v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com&lt;/code&gt; — observe only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 2:&lt;/strong&gt; Review DMARC reports (sent to the rua email). If clean, escalate to &lt;code&gt;p=quarantine&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Week 3:&lt;/strong&gt; Move to &lt;code&gt;p=reject&lt;/code&gt; — full spoofing protection&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;BIMI (Bonus)&lt;/h3&gt;

&lt;p&gt;BIMI displays your brand logo next to verified emails in Gmail and Apple Mail. The tool checks this too.&lt;/p&gt;

&lt;p&gt;Requirements for BIMI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DMARC set to &lt;code&gt;p=reject&lt;/code&gt; or &lt;code&gt;p=quarantine&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Logo in SVG format hosted on your domain&lt;/li&gt;
&lt;li&gt;Optional VMC (Verified Mark Certificate)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Complete Example&lt;/h2&gt;

&lt;p&gt;Here is what results look like for a well-configured domain:&lt;/p&gt;

&lt;pre&gt;📧 Email Security Report — example.com

╔════════════════════════════════════╗
║ SPF:  ✅ Pass                      ║
║       v=spf1 include:_spf.google.com ~all ║
╠════════════════════════════════════╣
║ DKIM: ✅ Valid (selector: google)  ║
║       RSA 2048 bits                ║
╠════════════════════════════════════╣
║ DMARC: ✅ Pass (p=reject)          ║
║       rua: mailto:dmarc@example.com║
╠════════════════════════════════════╣
║ BIMI: ✅ Logo found                ║
║       selectors: google,_domainkey ║
╚════════════════════════════════════╝
📊 Grade: A+&lt;/pre&gt;

&lt;p&gt;The overall &lt;strong&gt;Grade&lt;/strong&gt; summarizes the state of all three mechanisms. An A or A+ means all three are properly configured.&lt;/p&gt;

&lt;h2&gt;FAQ&lt;/h2&gt;

&lt;h3&gt;How often should I check my configuration?&lt;/h3&gt;

&lt;p&gt;At least once a month. Email providers change their servers (Google, Microsoft) and your records may become outdated. Also check after changing email providers or hosting.&lt;/p&gt;

&lt;h3&gt;Can I have SPF without DMARC?&lt;/h3&gt;

&lt;p&gt;Yes, but it is not recommended. DMARC is the only mechanism that tells the receiver what to do when SPF or DKIM fails. Without it, each server decides independently — and many will still deliver fraudulent email.&lt;/p&gt;

&lt;h3&gt;What does "too many DNS lookups" mean in SPF?&lt;/h3&gt;

&lt;p&gt;The standard allows a maximum of 10 DNS lookups per SPF check. Each &lt;code&gt;include:&lt;/code&gt;, &lt;code&gt;redirect=&lt;/code&gt;, or &lt;code&gt;mx&lt;/code&gt; counts as one. If you exceed 10, servers may ignore your SPF entirely.&lt;/p&gt;

&lt;h3&gt;Does the checker store my domain?&lt;/h3&gt;

&lt;p&gt;No. All analysis runs in your browser via DNS-over-HTTPS. No data is sent to any server. Verify this by opening developer tools (F12 → Network tab) while running a check.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;SPF, DKIM, and DMARC are the foundation of email security. Configuring them correctly protects your domain against spoofing, improves deliverability, and is a requirement for any organization using professional email.&lt;/p&gt;

&lt;p&gt;Use the &lt;a href="../tools/email-security.html"&gt;Email Security Checker&lt;/a&gt; to test your domain now — it takes under a minute and is completely private.&lt;/p&gt;

&lt;p&gt;🔍 Check your domain now:&lt;/p&gt;

&lt;p&gt;&lt;a href="../tools/email-security.html"&gt;Email Security Checker →&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Published May 24, 2026 · Practical Guide · SecuriTool&lt;/p&gt;



</description>
      <category>security</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
