<?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: Regő Botond Ronyecz</title>
    <description>The latest articles on DEV Community by Regő Botond Ronyecz (@rronyecz).</description>
    <link>https://dev.to/rronyecz</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3892331%2F07a2081d-bfce-4f3a-8c61-9231cdc92b32.jpg</url>
      <title>DEV Community: Regő Botond Ronyecz</title>
      <link>https://dev.to/rronyecz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rronyecz"/>
    <language>en</language>
    <item>
      <title>SPF Record Syntax Complete Reference</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:30:53 +0000</pubDate>
      <link>https://dev.to/rronyecz/spf-record-syntax-complete-reference-118b</link>
      <guid>https://dev.to/rronyecz/spf-record-syntax-complete-reference-118b</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete SPF syntax reference with M365 and Google templates: &lt;a href="https://zerohook.org/blog/spf-record-syntax-complete-reference" rel="noopener noreferrer"&gt;SPF Record Syntax: Complete Reference&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You paste &lt;code&gt;include:sendgrid.net&lt;/code&gt; into an already crowded TXT record. Syntax looks valid. Receivers return &lt;strong&gt;permerror&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;SPF is one string starting with &lt;code&gt;v=spf1&lt;/code&gt;, mechanisms evaluated left to right, and a hard stop at ten DNS lookups. Most production failures are not typos. They are lookup overflow, duplicate SPF TXT records, or a missing &lt;code&gt;-all&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Sanity check before any edit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig example.com TXT +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Count includes toward the cap. End production senders with &lt;code&gt;-all&lt;/code&gt;, not &lt;code&gt;~all&lt;/code&gt; left over from a migration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every mechanism and qualifier explained&lt;/li&gt;
&lt;li&gt;Lookup limit math with nested includes&lt;/li&gt;
&lt;li&gt;M365, Google Workspace, and ESP patterns&lt;/li&gt;
&lt;li&gt;PermError and softfail troubleshooting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/spf-record-syntax-complete-reference" rel="noopener noreferrer"&gt;SPF Record Syntax: Complete Reference&lt;/a&gt;&lt;/p&gt;

</description>
      <category>spf</category>
      <category>dns</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>SPF Permerror: When Your Lookup Count Hits 11</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:29:59 +0000</pubDate>
      <link>https://dev.to/rronyecz/spf-permerror-when-your-lookup-count-hits-11-485e</link>
      <guid>https://dev.to/rronyecz/spf-permerror-when-your-lookup-count-hits-11-485e</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide with lookup counting and M365 templates: &lt;a href="https://zerohook.org/blog/spf-permerror-too-many-dns-lookups" rel="noopener noreferrer"&gt;Fix SPF Permerror (Too Many Lookups)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your TXT record looks fine in Cloudflare. Gmail returns &lt;strong&gt;permerror&lt;/strong&gt; anyway.&lt;/p&gt;

&lt;p&gt;Most teams count visible &lt;code&gt;include:&lt;/code&gt; statements. Receivers walk nested SPF records until RFC 7208's ten lookup cap breaks evaluation entirely. Add M365, Mailchimp, and a legacy vendor path and you can cross the limit without changing the line you stare at in DNS.&lt;/p&gt;

&lt;p&gt;Quick check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig example.com TXT +short | &lt;span class="nb"&gt;grep &lt;/span&gt;spf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If expansion crosses ten lookups, SPF does not pass or fail cleanly. It permerrors. DMARC alignment on the SPF leg collapses with it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to count nested lookups (not just top-level includes)&lt;/li&gt;
&lt;li&gt;Copy-paste M365 + ESP templates under the cap&lt;/li&gt;
&lt;li&gt;When to split marketing to a subdomain&lt;/li&gt;
&lt;li&gt;DMARC and deliverability impact when SPF breaks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/spf-permerror-too-many-dns-lookups" rel="noopener noreferrer"&gt;Fix SPF Permerror (Too Many Lookups)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dns</category>
      <category>spf</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>SOC2 CC6.6 DNS Monitoring Evidence</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:29:04 +0000</pubDate>
      <link>https://dev.to/rronyecz/soc2-cc66-dns-monitoring-evidence-44b4</link>
      <guid>https://dev.to/rronyecz/soc2-cc66-dns-monitoring-evidence-44b4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete Type II evidence guide for DNS email controls: &lt;a href="https://zerohook.org/blog/soc2-cc6-6-dns-monitoring-evidence" rel="noopener noreferrer"&gt;SOC2 CC6.6 DNS Monitoring Evidence&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your auditor opens the evidence folder. You hand them a dig screenshot from last month. They ask what happened in March.&lt;/p&gt;

&lt;p&gt;Type II reviews operating effectiveness across the whole window, not DNS correctness on audit eve. CC6.6 ties to boundary controls on email infrastructure: enforced DMARC, MTA-STS, access to DNS panels, and proof you caught drift.&lt;/p&gt;

&lt;p&gt;A last-minute cleanup does not erase three months at p=none.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig _dmarc.example.com TXT +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Look for p=quarantine or p=reject during sample weeks, not just on the final day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CC6.1, CC6.6, and CC7.1 mapping for DNS&lt;/li&gt;
&lt;li&gt;Evidence package auditors accept (vs. Excel screenshots)&lt;/li&gt;
&lt;li&gt;Weekly monitoring cadence for SMB Type II&lt;/li&gt;
&lt;li&gt;Tamper-proof change logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/soc2-cc6-6-dns-monitoring-evidence" rel="noopener noreferrer"&gt;SOC2 CC6.6 DNS Monitoring Evidence&lt;/a&gt;&lt;/p&gt;

</description>
      <category>compliance</category>
      <category>soc2</category>
      <category>dns</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>NIS2 Email Security Checklist 2026</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:28:04 +0000</pubDate>
      <link>https://dev.to/rronyecz/nis2-email-security-checklist-2026-44i4</link>
      <guid>https://dev.to/rronyecz/nis2-email-security-checklist-2026-44i4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete Article 21 checklist with evidence artifacts: &lt;a href="https://zerohook.org/blog/nis2-email-security-requirements-checklist-2026" rel="noopener noreferrer"&gt;NIS2 Email Security Checklist (2026)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The auditor asks how you secure email transmission. You slide over a 2022 SPF screenshot. They ask for DMARC aggregate reports from the last 90 days. Silence.&lt;/p&gt;

&lt;p&gt;NIS2 Article 21 does not name SPF in the directive text. EU assessors still map transmission security to authenticated mail, transport policies, DNS integrity, and provable monitoring. Essential and important entities across member states hit this question early in 2026 reviews.&lt;/p&gt;

&lt;p&gt;Minimum records to inventory before your next assessment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig example.com TXT +short | &lt;span class="nb"&gt;grep &lt;/span&gt;spf
dig _dmarc.example.com TXT +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SPF alone is not a program. Neither is p=none without review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full DNS and monitoring checklist for Article 21&lt;/li&gt;
&lt;li&gt;Evidence artifacts auditors request (not policy PDFs)&lt;/li&gt;
&lt;li&gt;MTA-STS, TLS-RPT, and DNSSEC mapping&lt;/li&gt;
&lt;li&gt;Fine exposure vs. compliance cost context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/nis2-email-security-requirements-checklist-2026" rel="noopener noreferrer"&gt;NIS2 Email Security Checklist (2026)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>compliance</category>
      <category>nis2</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>NIS2 Article 21: DNS Auditors Ask For</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:27:06 +0000</pubDate>
      <link>https://dev.to/rronyecz/nis2-article-21-dns-auditors-ask-for-1ceo</link>
      <guid>https://dev.to/rronyecz/nis2-article-21-dns-auditors-ask-for-1ceo</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete Article 21 DNS control mapping and evidence guide: &lt;a href="https://zerohook.org/blog/nis2-article-21-dns-controls" rel="noopener noreferrer"&gt;NIS2 Article 21: DNS Auditors Ask For&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Article 21 talks about technical and organizational measures. Your assessor talks about &lt;code&gt;_dmarc&lt;/code&gt;, MTA-STS, and who can edit Cloudflare.&lt;/p&gt;

&lt;p&gt;EU auditors translate transmission security into queryable DNS objects: SPF, DKIM, enforced DMARC, transport records, and proof you monitored changes between visits. A policy binder without TXT records fails the conversation fast.&lt;/p&gt;

&lt;p&gt;Verify what they will query on day one:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;dig _dmarc.example.com TXT +short
dig _mta-sts.example.com TXT +short
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If p=none is live and nobody reviews rua= XML, you have a gap even when "email security" is checked on a spreadsheet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Article 21 to DNS control mapping table&lt;/li&gt;
&lt;li&gt;Evidence samples assessors accept vs. reject&lt;/li&gt;
&lt;li&gt;Shadow IT senders and subdomain inventory&lt;/li&gt;
&lt;li&gt;Link to full NIS2 email checklist&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/nis2-article-21-dns-controls" rel="noopener noreferrer"&gt;NIS2 Article 21: DNS Auditors Ask For&lt;/a&gt;&lt;/p&gt;

</description>
      <category>compliance</category>
      <category>dns</category>
      <category>nis2</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>Microsoft 365 SPF Record Template</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:25:52 +0000</pubDate>
      <link>https://dev.to/rronyecz/microsoft-365-spf-record-template-13ae</link>
      <guid>https://dev.to/rronyecz/microsoft-365-spf-record-template-13ae</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide with ESP includes and PermError avoidance: &lt;a href="https://zerohook.org/blog/microsoft-365-spf-record-template" rel="noopener noreferrer"&gt;Microsoft 365 SPF Record Template&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You migrated to Exchange Online. SPF still points at Google from 2022. Outbound mostly works until a gateway quarantines proposals.&lt;/p&gt;

&lt;p&gt;M365-only senders need one include and a hard fail:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;v=spf1 include:spf.protection.outlook.com -all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Publish on the root domain in Cloudflare, Route53, or GoDaddy. Not in the M365 admin panel. One TXT per domain. Two SPF records = permerror.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;M365 + Mailchimp, HubSpot, SendGrid templates&lt;/li&gt;
&lt;li&gt;Lookup counting before you add ESP includes&lt;/li&gt;
&lt;li&gt;Cloudflare and GoDaddy publish clicks&lt;/li&gt;
&lt;li&gt;When to move marketing to mail.yourdomain.com&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/microsoft-365-spf-record-template" rel="noopener noreferrer"&gt;Microsoft 365 SPF Record Template&lt;/a&gt;&lt;/p&gt;

</description>
      <category>spf</category>
      <category>microsoft365</category>
      <category>dns</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>ISO 27001: 12 Email DNS Records</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:24:26 +0000</pubDate>
      <link>https://dev.to/rronyecz/iso-27001-12-email-dns-records-4n29</link>
      <guid>https://dev.to/rronyecz/iso-27001-12-email-dns-records-4n29</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide mapping 12 DNS records to Annex A 2022: &lt;a href="https://zerohook.org/blog/iso-27001-annex-a-email-dns-controls" rel="noopener noreferrer"&gt;ISO 27001: 12 Email DNS Records That Matter&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Stage 2 asks for email transfer controls. You open a 40-page acceptable use policy. The assessor asks for twelve queryable DNS objects.&lt;/p&gt;

&lt;p&gt;ISO/IEC 27001:2022 maps Annex A to SPF, DKIM, enforced DMARC, MTA-STS, TLS-RPT, DNSSEC, CAA, and subdomain policies. Authentication without operating evidence still fails A.8.16 monitoring arguments.&lt;/p&gt;

&lt;p&gt;Stage 2 does not care that DMARC was "planned for Q3" since the last cycle.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig _dmarc.example.com TXT +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;p=none through your certification window is a finding waiting for A.8.7.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All 12 records with Annex A control IDs&lt;/li&gt;
&lt;li&gt;Evidence samples for each record type&lt;/li&gt;
&lt;li&gt;Stage 2 remediation priority order&lt;/li&gt;
&lt;li&gt;Overlap with NIS2 and SOC2 evidence reuse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/iso-27001-annex-a-email-dns-controls" rel="noopener noreferrer"&gt;ISO 27001: 12 Email DNS Records That Matter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>compliance</category>
      <category>dns</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>Gmail Unverified Sender? Check DMARC</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:23:11 +0000</pubDate>
      <link>https://dev.to/rronyecz/gmail-unverified-sender-check-dmarc-2dml</link>
      <guid>https://dev.to/rronyecz/gmail-unverified-sender-check-dmarc-2dml</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide with SPF, DKIM, and alignment fixes: &lt;a href="https://zerohook.org/blog/gmail-unverified-sender-dmarc" rel="noopener noreferrer"&gt;Gmail Unverified Sender? Check DMARC&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Recipients see &lt;strong&gt;"Be careful with this message"&lt;/strong&gt; or an unverified sender banner. Your mail still delivers. Trust is already bleeding.&lt;/p&gt;

&lt;p&gt;Gmail shows that warning when authentication is missing or DMARC does not align. SPF alone does not clear the banner if DKIM fails or your policy is monitor-only at p=none.&lt;/p&gt;

&lt;p&gt;Verify the basics:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig _dmarc.example.com TXT +short
dig example.com TXT +short | &lt;span class="nb"&gt;grep &lt;/span&gt;spf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need a valid SPF path, DKIM signing on your From domain, and a DMARC record that matches how you actually send.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exact Gmail banner triggers in 2026&lt;/li&gt;
&lt;li&gt;M365 and Google Workspace DKIM enable steps&lt;/li&gt;
&lt;li&gt;When p=none still shows warnings&lt;/li&gt;
&lt;li&gt;Moving from monitor to quarantine safely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/gmail-unverified-sender-dmarc" rel="noopener noreferrer"&gt;Gmail Unverified Sender? Check DMARC&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gmail</category>
      <category>dmarc</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>Gmail Spam Filter 2026: 35 Failures</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:21:52 +0000</pubDate>
      <link>https://dev.to/rronyecz/gmail-spam-filter-2026-35-failures-4572</link>
      <guid>https://dev.to/rronyecz/gmail-spam-filter-2026-35-failures-4572</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete catalog of 35 Gmail failure signals and fixes: &lt;a href="https://zerohook.org/blog/gmail-spam-filter-2026-35-reasons" rel="noopener noreferrer"&gt;Gmail Spam Filter 2026: 35 Mail Failures&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Green checkmarks in your DNS panel. Gmail still folders the newsletter. The team fixed SPF twice.&lt;/p&gt;

&lt;p&gt;Google's bulk sender rules in 2026 go past three DNS records. Authentication, complaint rates, list hygiene, one-click unsubscribe, and engagement signals all feed filtering. Fixing SPF while DKIM alignment fails is like locking the front door and leaving the loading dock open.&lt;/p&gt;

&lt;p&gt;Start in &lt;strong&gt;Gmail Postmaster Tools&lt;/strong&gt; and &lt;strong&gt;Show original&lt;/strong&gt; on a failed message. Authentication-Results tells you which leg broke before you edit TXT records again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All 35 failure categories mapped to fixes&lt;/li&gt;
&lt;li&gt;Bulk sender thresholds (5,000+/day and complaint rates)&lt;/li&gt;
&lt;li&gt;SPF, DKIM, DMARC, and alignment together&lt;/li&gt;
&lt;li&gt;Postmaster Tools metrics that predict spam placement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/gmail-spam-filter-2026-35-reasons" rel="noopener noreferrer"&gt;Gmail Spam Filter 2026: 35 Mail Failures&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gmail</category>
      <category>email</category>
      <category>dns</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>Gmail 550 5.7.26: Auth Required Fix</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:19:57 +0000</pubDate>
      <link>https://dev.to/rronyecz/gmail-550-5726-auth-required-fix-4hek</link>
      <guid>https://dev.to/rronyecz/gmail-550-5726-auth-required-fix-4hek</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide with M365 and Google Workspace DNS steps: &lt;a href="https://zerohook.org/blog/gmail-550-5-7-26-authentication-required" rel="noopener noreferrer"&gt;Fix Gmail 550 5.7.26 Auth Errors&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Payroll mail bounces. The SMTP reply is short and ugly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;550 5.7.26 Authentication Required
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gmail is not guessing about your intentions. It rejected the message because SPF, DKIM, or DMARC alignment failed on the sending path. Outlook might still accept similar mail. Google won't in 2026.&lt;/p&gt;

&lt;p&gt;Open the bounce or &lt;strong&gt;Show original&lt;/strong&gt; in Gmail. Look for &lt;code&gt;spf=&lt;/code&gt;, &lt;code&gt;dkim=&lt;/code&gt;, and &lt;code&gt;dmarc=&lt;/code&gt; in Authentication-Results before you touch DNS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to read the 550 5.7.26 bounce line by line&lt;/li&gt;
&lt;li&gt;SPF/DKIM/DMARC fixes for Microsoft 365 and Google Workspace&lt;/li&gt;
&lt;li&gt;ESP alignment when marketing sends as your domain&lt;/li&gt;
&lt;li&gt;When to check envelope-from vs. From: header&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/gmail-550-5-7-26-authentication-required" rel="noopener noreferrer"&gt;Fix Gmail 550 5.7.26 Auth Errors&lt;/a&gt;&lt;/p&gt;

</description>
      <category>email</category>
      <category>gmail</category>
      <category>dmarc</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>SPF Passes but Mail Lands in Spam</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:18:54 +0000</pubDate>
      <link>https://dev.to/rronyecz/spf-passes-but-mail-lands-in-spam-2oh4</link>
      <guid>https://dev.to/rronyecz/spf-passes-but-mail-lands-in-spam-2oh4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete guide with Authentication-Results and alignment fixes: &lt;a href="https://zerohook.org/blog/emails-pass-spf-still-spam" rel="noopener noreferrer"&gt;SPF Passes but Mail Lands in Spam&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;MXToolbox shows SPF pass. Gmail Postmaster shows spam anyway. The team keeps editing TXT records that were never the problem.&lt;/p&gt;

&lt;p&gt;SPF pass only means the sending IP is authorized for the &lt;strong&gt;envelope&lt;/strong&gt; domain. Inbox placement in 2026 still depends on DKIM, DMARC alignment, complaint rates, and engagement. We've seen teams chase SPF includes for weeks while DMARC failed on every campaign.&lt;/p&gt;

&lt;p&gt;In Gmail, open &lt;strong&gt;Show original&lt;/strong&gt; and read Authentication-Results before changing DNS again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SPF vs. DKIM vs. DMARC responsibilities&lt;/li&gt;
&lt;li&gt;Alignment failures when ESPs sign their own domain&lt;/li&gt;
&lt;li&gt;Bulk sender complaint rate thresholds&lt;/li&gt;
&lt;li&gt;List hygiene signals beyond DNS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/emails-pass-spf-still-spam" rel="noopener noreferrer"&gt;SPF Passes but Mail Lands in Spam&lt;/a&gt;&lt;/p&gt;

</description>
      <category>spf</category>
      <category>dmarc</category>
      <category>email</category>
      <category>zerohook</category>
    </item>
    <item>
      <title>Roll Out DMARC p=reject in 8 Weeks</title>
      <dc:creator>Regő Botond Ronyecz</dc:creator>
      <pubDate>Mon, 29 Jun 2026 21:17:16 +0000</pubDate>
      <link>https://dev.to/rronyecz/roll-out-dmarc-preject-in-8-weeks-37d2</link>
      <guid>https://dev.to/rronyecz/roll-out-dmarc-preject-in-8-weeks-37d2</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Teaser only.&lt;/strong&gt; This is not the full article. Complete week-by-week rollout with pct= staging: &lt;a href="https://zerohook.org/blog/dmarc-p-reject-rollout-8-weeks" rel="noopener noreferrer"&gt;Roll Out DMARC p=reject in 8 Weeks&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finance wants p=reject yesterday. Marketing still sends through three ESPs nobody documented. Flip the policy in one afternoon and payroll receipts start bouncing.&lt;/p&gt;

&lt;p&gt;A sane rollout stages enforcement while you read aggregate reports. Start at p=none with rua=, move to quarantine with pct=, watch failure sources, then reject when alignment is boring for two straight weeks.&lt;/p&gt;

&lt;p&gt;Baseline check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dig _dmarc.example.com TXT +short
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You want rua= receiving XML before you touch p=.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the full post on zerohook.org:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Week-by-week checklist (8 weeks)&lt;/li&gt;
&lt;li&gt;pct=25 staging without breaking transactional mail&lt;/li&gt;
&lt;li&gt;Identifying shadow senders in aggregate XML&lt;/li&gt;
&lt;li&gt;Rollback plan when a vendor surprises you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Read the full guide:&lt;/strong&gt; &lt;a href="https://zerohook.org/blog/dmarc-p-reject-rollout-8-weeks" rel="noopener noreferrer"&gt;Roll Out DMARC p=reject in 8 Weeks&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dmarc</category>
      <category>email</category>
      <category>devops</category>
      <category>zerohook</category>
    </item>
  </channel>
</rss>
