{"id":5216,"date":"2026-08-11T09:04:35","date_gmt":"2026-08-11T09:04:35","guid":{"rendered":"https:\/\/www.mailercloud.com\/blog\/?p=5216"},"modified":"2026-09-08T04:31:37","modified_gmt":"2026-09-08T04:31:37","slug":"gmail-yahoo-sender-requirements","status":"publish","type":"post","link":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements","title":{"rendered":"Gmail &#038; Yahoo Sender Requirements: The Complete 2026 Reference"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Last reviewed: 10 August 2026<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Any domain sending close to 5,000 or more messages a day to personal Gmail addresses must authenticate with SPF <em>and<\/em> DKIM, publish a DMARC record (<code>p=none<\/code> is sufficient), align the <code>From:<\/code> domain with either SPF or DKIM, support RFC 8058 one-click unsubscribe on marketing mail, honor unsubscribes within two days, and keep its Postmaster Tools spam rate below 0.30%. Every sender \u2014 bulk or not \u2014 needs SPF or DKIM, valid forward and reverse DNS, and TLS. Yahoo enforces substantially the same list but publishes no volume threshold. Since November 2025, Gmail has been ramping up enforcement with both temporary and permanent rejections.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#The_Requirements_at_a_Glance\" >The Requirements at a Glance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Who_Counts_as_a_Bulk_Sender\" >Who Counts as a Bulk Sender<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Requirement_1_Email_Authentication\" >Requirement 1: Email Authentication<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Requirement_2_One-Click_Unsubscribe_RFC_8058\" >Requirement 2: One-Click Unsubscribe (RFC 8058)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Requirement_3_Spam_Complaint_Rate\" >Requirement 3: Spam Complaint Rate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Requirement_4_Forward_and_Reverse_DNS_and_TLS\" >Requirement 4: Forward and Reverse DNS, and TLS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#What_Happens_When_You_Fail_Each_Requirement\" >What Happens When You Fail Each Requirement<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#How_to_Verify_You_Comply_Today\" >How to Verify You Comply Today<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#Changelog_How_These_Rules_Evolved\" >Changelog: How These Rules Evolved<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#How_Mailercloud_Handles_This\" >How Mailercloud Handles This<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\/#FAQ\" >FAQ<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Requirements_at_a_Glance\"><\/span>The Requirements at a Glance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<!-- TABLE 1 \u2014 Gmail vs Yahoo requirements. Paste into a WP Custom HTML block. Inline styles, no scroll. -->\n<div style=\"border:1px solid #EAECEF;border-radius:8px;overflow:hidden;margin:24px 0;\">\n  <table style=\"width:100%;border-collapse:collapse;table-layout:fixed;font-family:inherit;\">\n    <colgroup><col style=\"width:24%;\"><col style=\"width:16%;\"><col style=\"width:16%;\"><col style=\"width:18%;\"><col style=\"width:26%;\"><\/colgroup>\n    <thead><tr>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Requirement<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Gmail<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Yahoo<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Applies to<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Enforcement<\/th>\n    <\/tr><\/thead>\n    <tbody>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">SPF <em>or<\/em> DKIM<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#6B7280;border-radius:3px;padding:2px 6px;\">All senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">5.7.26<\/code> rejection when both fail<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">SPF <em>and<\/em> DKIM<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Rejection \/ spam foldering<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DMARC record<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">p=none<\/code> min<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required, <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">p=none<\/code> min<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">421 4.7.40<\/code> if absent<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DMARC alignment<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required, relaxed OK<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required, relaxed OK<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">421 4.7.32<\/code><\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DKIM key &ge; 1024 bits<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#6B7280;border-radius:3px;padding:2px 6px;\">All to Gmail<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Authentication failure<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">One-click unsubscribe (RFC 8058)<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk &mdash; marketing<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Spam foldering<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Visible unsubscribe link in body<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk &mdash; marketing<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Spam foldering<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Honor unsubscribes within 2 days<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Complaint-driven filtering<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Spam rate below 0.30%<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#1F3A5C;border-radius:3px;padding:2px 6px;\">Bulk senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Spam foldering; no mitigation<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Spam rate below 0.10%<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Google&#8217;s stated target<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Recommended<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#B7791F;border-radius:3px;padding:2px 6px;\">All senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Safety margin<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Forward + reverse DNS (PTR)<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#6B7280;border-radius:3px;padding:2px 6px;\">All senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">5.7.25<\/code> rejection<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">TLS on the connection<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Not in Yahoo&#8217;s docs<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#6B7280;border-radius:3px;padding:2px 6px;\">All senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">5.7.29<\/code> rejection<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">RFC 5322 formatting, Message-ID<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Required<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Recommended<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;\"><span style=\"display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#6B7280;border-radius:3px;padding:2px 6px;\">All senders<\/span><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Rejection \/ spam foldering<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Sources: <a href=\"https:\/\/support.google.com\/a\/answer\/81126\" rel=\"nofollow\">Google&#8217;s Email sender guidelines<\/a> and the <a href=\"https:\/\/senders.yahooinc.com\/best-practices\/\" rel=\"nofollow\">Yahoo Sender Hub best practices<\/a>. TLS appears nowhere in Yahoo&#8217;s own documentation despite widespread claims otherwise \u2014 enable it regardless, since Gmail requires it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Who_Counts_as_a_Bulk_Sender\"><\/span>Who Counts as a Bulk Sender<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Google&#8217;s definition is the operative one, because Yahoo declines to publish a number \u2014 its FAQ states flatly: &#8220;We will not specify a volume threshold.&#8221; Google classifies you as a bulk sender at <strong>close to 5,000 messages or more to personal Gmail accounts within a 24-hour period<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Counted per domain, not per IP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The threshold is measured against your <strong>primary domain<\/strong>, with subdomains rolling up into it. Google&#8217;s own example: 2,500 messages from <code>solarmora.com<\/code> plus 2,500 from <code>promotions.solarmora.com<\/code> equals 5,000 from the primary domain. Splitting traffic across IPs, ESPs, or subdomains does not keep you under the line.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Only personal Gmail accounts count<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The count covers <code>@gmail.com<\/code> and <code>@googlemail.com<\/code> only \u2014 Google states the guidelines &#8220;don&#8217;t apply to messages sent to Google Workspace accounts.&#8221; A B2B sender mailing 50,000 corporate addresses daily may sit under the threshold while still being judged on authentication by every gateway in front of those mailboxes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bulk sender status is permanent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Per Google: &#8220;Bulk sender status doesn&#8217;t have an expiration date. Email senders that have been classified as bulk senders are permanently classified as such,&#8221; and &#8220;changes in email sending practices will not affect permanent bulk sender status once it&#8217;s assigned.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cross 5,000 once \u2014 a Black Friday send, a migration blast \u2014 and you are held to the bulk requirements from then on. Plan for your peak, not your average.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The trap: under the threshold is not safe<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The all-sender requirements still bind you.<\/strong> SPF or DKIM, valid PTR records, TLS, and RFC 5322 formatting apply at any volume. The 5.7.26 rejection does not check your daily count first.<\/li>\n\n\n\n<li><strong>Filtering is reputation-driven, not rule-driven.<\/strong> Meeting the minimums gets your mail evaluated, not delivered. A sender at 800 messages a day with a 0.8% complaint rate lands in spam regardless of a clean DMARC record.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you are within an order of magnitude of 5,000 a day to Gmail, implement the full bulk set now. The work is identical and the classification is irreversible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requirement_1_Email_Authentication\"><\/span>Requirement 1: Email Authentication<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SPF and DKIM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All senders need <strong>SPF or DKIM<\/strong>. Bulk senders need <strong>both<\/strong>. Gmail also requires a <strong>DKIM key of 1024 bits or longer<\/strong> \u2014 use 2048-bit unless your DNS provider cannot hold the record. Keep SPF within the ten-DNS-lookup limit: exceeding it returns <code>permerror<\/code>, which is a failure, not a warning, and is the most common silent break when a company adds its fourth or fifth SaaS sender.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DMARC: what policy is actually required<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The published minimum is <code>p=none<\/code>. Yahoo&#8217;s wording: &#8220;Publish a valid DMARC policy with at least p=none &#8211; DMARC must pass.&#8221; A minimal compliant record:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>_dmarc.example.com. TXT \"v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>rua<\/code> tag is not required, but publishing <code>p=none<\/code> without collecting aggregate reports wastes the point of the record \u2014 it is a monitoring policy that tells you which senders fail alignment so you can fix them before moving to <code>p=quarantine<\/code>. Our implementation guide covers <a href=\"https:\/\/www.mailercloud.com\/blog\/spf-dkim-dmarc-implementation-guide\">record syntax and the staged rollout<\/a> in full.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vendor claims that Google now requires <code>p=quarantine<\/code> or <code>p=reject<\/code> are contradicted by its live documentation, which still reads &#8220;Your DMARC enforcement policy can be set to none.&#8221; Google&#8217;s FAQ notes that &#8220;It&#8217;s likely that DMARC alignment with both SPF and DKIM will eventually be a sender requirement,&#8221; but attaches no date \u2014 intent, not a rule.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alignment \u2014 the part that actually fails<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Publishing the records is not the requirement. <strong>Passing<\/strong> is. The domain in your <code>From:<\/code> header must align with either the SPF domain (the Return-Path) or the DKIM <code>d=<\/code> domain. <strong>Relaxed alignment is acceptable<\/strong> to both providers, so the organizational domain must match but subdomains may differ.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The classic failure: you send as <code>news@example.com<\/code> through an ESP that sets the Return-Path to <code>bounces@esp-provider.net<\/code> and signs DKIM with <code>d=esp-provider.net<\/code>. SPF passes. DKIM passes. DMARC fails, because neither aligns with <code>example.com<\/code>. The fix is a custom DKIM signing domain, a custom bounce domain, or both.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requirement_2_One-Click_Unsubscribe_RFC_8058\"><\/span>Requirement 2: One-Click Unsubscribe (RFC 8058)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bulk senders must support one-click unsubscribe on marketing and subscribed messages <em>and<\/em> keep a clearly visible unsubscribe link in the body. It is both, not either.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The exact headers<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>List-Unsubscribe: &lt;https:\/\/example.com\/unsubscribe?id=abc123&gt;, &lt;mailto:unsub@example.com&gt;<\/code><br>\n<code>List-Unsubscribe-Post: List-Unsubscribe=One-Click<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per RFC 8058, the <code>List-Unsubscribe-Post<\/code> value must be exactly <code>List-Unsubscribe=One-Click<\/code> \u2014 no variation in spelling, spacing, or casing, because clients string-match it. The <code>List-Unsubscribe<\/code> header must contain an <strong>HTTPS<\/strong> URI; a <code>mailto:<\/code> may also appear but cannot be the only entry. Both headers must be covered by your DKIM signature.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The honoring deadline<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Both providers require unsubscribes honored <strong>within two days<\/strong>. Yahoo&#8217;s phrasing: &#8220;Honor unsubscribes within 2 days.&#8221; That is the ceiling, not the service level \u2014 process immediately and you never have to defend the number.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The common implementation mistake<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Acting on the GET request instead of the POST.<\/strong> RFC 8058 exists because mail clients and security scanners pre-fetch URLs found in headers. If your endpoint unsubscribes anyone issuing a <code>GET<\/code>, scanners will silently unsubscribe engaged recipients and you will see attrition with no user action behind it. Unsubscribe only on a <code>POST<\/code> carrying the <code>List-Unsubscribe=One-Click<\/code> body.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Three more that recur: <strong>requiring a login<\/strong> (redirecting to an authenticated preference center is a failed implementation even with the header present); <strong>a non-idempotent endpoint<\/strong> (a duplicate POST must not error or re-subscribe); and <strong>headers on the wrong mail<\/strong> (add them to marketing and subscribed messages, not to password resets).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requirement_3_Spam_Complaint_Rate\"><\/span>Requirement 3: Spam Complaint Rate<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The threshold is <strong>0.30%<\/strong> as reported in Google Postmaster Tools. Google&#8217;s guidance goes further: keep it <strong>below 0.10%<\/strong> and &#8220;avoid ever reaching a spam rate of 0.30% or higher.&#8221; Both numbers are Google&#8217;s and they are two different lines \u2014 0.10% is the target, 0.30% is the cliff. Yahoo uses the same 0.30% figure. Google: &#8220;Beginning June 2024, bulk senders with a user-reported spam rate greater than 0.3% will be ineligible for mitigation.&#8221; Note the threshold is greater than 0.3%, and eligibility returns once the rate stays below 0.3% for 7 consecutive days.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How it is measured<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The denominator is mail <strong>delivered to the inbox<\/strong> \u2014 not messages sent, and not messages accepted. Yahoo confirms the same denominator in its Sender Hub Insights documentation: complaint rate is computed only on mail delivered to the inbox, which is why it differs from a sender&#8217;s own figure that includes spam-foldered mail. Google does not publish a formula, but its figure behaves the same way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two consequences follow. First, <strong>your ESP&#8217;s complaint rate and the provider&#8217;s are not the same metric<\/strong> \u2014 your ESP divides by messages sent, the providers divide by a smaller number, so their figure always runs higher and it is the only one that counts. Second, as reputation degrades and more mail is routed to spam, the denominator shrinks and the reported rate climbs even when complaint volume is flat. Spam rate accelerates in exactly the situation where you need it stable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The rate is also <strong>daily<\/strong>, so one bad campaign can spike it, and <strong>domain-level<\/strong>, so one careless list contaminates every stream on that domain \u2014 the argument for separating marketing and transactional mail onto different subdomains.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where to monitor it<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Google Postmaster Tools<\/strong> (<code>postmaster.google.com<\/code>) \u2014 spam rate, domain and IP reputation, authentication pass rates, TLS and delivery errors. Requires DNS TXT verification, and is the only place Google&#8217;s official spam rate appears. Domain and IP reputation are absent from the v2 interface and v2 API and are slated for retirement on an unannounced date \u2014 do not build permanent monitoring on them.<\/li>\n\n\n\n<li><strong>Yahoo Sender Hub<\/strong> (<code>senders.yahooinc.com<\/code>) \u2014 including Insights and the Complaint Feedback Loop. The CFL delivers individual ARF reports rather than an aggregate percentage, so you compute the rate yourself against inbox-delivered volume.<\/li>\n\n\n\n<li><strong>Your ESP&#8217;s reporting<\/strong> \u2014 useful for attributing a spike to the campaign that caused it, but remember its denominator differs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Requirement_4_Forward_and_Reverse_DNS_and_TLS\"><\/span>Requirement 4: Forward and Reverse DNS, and TLS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These apply to <strong>every<\/strong> sender at any volume, and are checked at connection time \u2014 before content, before reputation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google&#8217;s requirement: &#8220;The sending IP address must match the IP address of the hostname specified in the Pointer (PTR) record.&#8221; That is a round trip, often called full-circle DNS: IP \u2192 hostname via PTR, then hostname \u2192 IP via A record, landing on the same IP. A PTR pointing to a hostname with no A record, or one resolving elsewhere, fails \u2014 as does the generic PTR your host assigns by default. Your HELO\/EHLO hostname should match too. Only the network operator can set a PTR record, so this is a request to your host or ESP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google requires TLS for transmitting email, added to the guidelines in December 2023. Opportunistic TLS via STARTTLS satisfies it \u2014 you do not need MTA-STS or DANE, though both are reasonable hardening. Yahoo&#8217;s documentation contains no TLS mandate, but there is no scenario in which sending in the clear helps you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Happens_When_You_Fail_Each_Requirement\"><\/span>What Happens When You Fail Each Requirement<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gmail publishes a specific code per failure, paired as <code>4.7.x<\/code> temporary and <code>5.7.x<\/code> permanent. The code names the requirement, which makes this the fastest diagnostic you have:<\/p>\n\n\n\n<!-- TABLE 2 \u2014 Enforcement codes. Paste into a WP Custom HTML block. Inline styles, no scroll.\n     NOTE: 5.7.27 \/ 5.7.29 \/ 5.7.30 are shown as Gmail EMITS them; IANA registers those numbers for\n     null MX \/ ARC \/ REQUIRETLS respectively. Consider a footnote linking your SMTP 5.7.x reference. -->\n<div style=\"border:1px solid #EAECEF;border-radius:8px;overflow:hidden;margin:24px 0;\">\n  <table style=\"width:100%;border-collapse:collapse;table-layout:fixed;font-family:inherit;\">\n    <colgroup><col style=\"width:30%;\"><col style=\"width:70%;\"><\/colgroup>\n    <thead><tr>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:13px;padding:12px 12px;font-family:inherit;\">Code<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:13px;padding:12px 12px;font-family:inherit;\">What failed<\/th>\n    <\/tr><\/thead>\n    <tbody>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#C0392B;\">550 5.7.26<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Unauthenticated &mdash; failed <em>both<\/em> SPF and DKIM<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#C0392B;\">550 5.7.27<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">SPF failure <span style=\"color:#6B7280;font-size:11.5px;\">(Gmail&#8217;s use of this code; IANA registers 5.7.27 as null MX)<\/span><\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#C0392B;\">550 5.7.30<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">DKIM failure <span style=\"color:#6B7280;font-size:11.5px;\">(Gmail&#8217;s use; IANA registers 5.7.30 as REQUIRETLS)<\/span><\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#C0392B;\">550 5.7.29<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Not sent over TLS <span style=\"color:#6B7280;font-size:11.5px;\">(Gmail&#8217;s use; IANA registers 5.7.29 as ARC failure)<\/span><\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#C0392B;\">550 5.7.25<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Missing PTR record \/ forward-DNS mismatch<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#B7791F;\">421 4.7.32<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">From: not aligned with the authenticated domain<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 12px;vertical-align:top;border-bottom:1px solid #EAECEF;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#B7791F;\">421 4.7.40<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">No DMARC record published<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 12px;vertical-align:top;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;color:#B7791F;\">4.7.28 \/ 5.7.28<\/code><\/td>\n        <td style=\"padding:11px 12px;vertical-align:top;font-size:13px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Unusual rate of unsolicited mail from the IP<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A <code>5.x.x<\/code> is permanent: refused outright, never retried, recorded by your ESP as a hard bounce. A <code>4.x.x<\/code> is retryable \u2014 but treat deferrals as the last cheap warning you will get, not routine throttling. Two companion guides go deeper: <a href=\"https:\/\/www.mailercloud.com\/blog\/smtp-5-7-x-bounce-codes-explained\">the full 5.7.x reference<\/a>, and <a href=\"https:\/\/www.mailercloud.com\/blog\/gmail-421-rate-limiting-deferrals\">how to respond to a 4.7.x deferral before it becomes a rejection<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>A common vendor narrative holds that Gmail &#8220;flipped&#8221; these failures from 4.x.x to 5.x.x in November 2025. Both code families predate that date, Google published no per-code cutover, and we found no measured telemetry supporting it. Google documented a general ramp-up in severity, not a specific code change.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unsubscribe and complaint failures behave differently: they generally produce <strong>no bounce at all<\/strong>. Mail is accepted with a 250 and filed in spam, so your delivery metrics look healthy while engagement quietly collapses. This is why Postmaster Tools matters more than your ESP&#8217;s delivered rate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yahoo publishes far less operational detail. In practice it throttles with 4.x.x deferrals under reputation pressure, applies spam foldering for complaint and unsubscribe failures, and rejects unauthenticated mail. <em>Yahoo has published no code-by-code enforcement table equivalent to Google&#8217;s \u2014 treat this as observed behavior, not documented policy.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Verify_You_Comply_Today\"><\/span>How to Verify You Comply Today<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Work through this in order. Each item gives a definitive answer \u2014 do not rely on a dashboard saying &#8220;configured.&#8221;<\/p>\n\n\n\n<!-- TABLE 3 \u2014 14-point verification checklist. Paste into a WP Custom HTML block. Inline styles, no scroll. -->\n<div style=\"border:1px solid #EAECEF;border-radius:8px;overflow:hidden;margin:24px 0;\">\n  <table style=\"width:100%;border-collapse:collapse;table-layout:fixed;font-family:inherit;\">\n    <colgroup><col style=\"width:5%;\"><col style=\"width:24%;\"><col style=\"width:38%;\"><col style=\"width:33%;\"><\/colgroup>\n    <thead><tr>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:center;font-weight:700;font-size:12.5px;padding:12px 8px;font-family:inherit;\">#<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Check<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Tool \/ command<\/th>\n      <th style=\"background:#1F3A5C;color:#fff;text-align:left;font-weight:700;font-size:12.5px;padding:12px 11px;font-family:inherit;\">Pass condition<\/th>\n    <\/tr><\/thead>\n    <tbody>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">1<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">SPF valid<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">dig +short TXT example.com<\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">One record starting <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">v=spf1<\/code>; &le;10 lookups; no <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">permerror<\/code><\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">2<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DKIM published<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">dig +short TXT selector._domainkey.example.com<\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">v=DKIM1; k=rsa; p=&hellip;<\/code>, 1024-bit or longer<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">3<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DMARC published<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">dig +short TXT _dmarc.example.com<\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">v=DMARC1; p=none<\/code> or stronger<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">4<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">DMARC passes and aligns<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Seed to <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">check-auth@verifier.port25.com<\/code>, or read <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">Authentication-Results<\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">dmarc=pass<\/code> with <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">header.from<\/code> on the aligned domain<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">5<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Reverse DNS full-circle<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">dig +short -x 203.0.113.45<\/code> then <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">dig +short <hostname><\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Second command returns the original IP<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">6<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">HELO hostname matches<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Read <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">Received:<\/code> headers on a delivered message<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">HELO name resolves to the sending IP<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">7<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">TLS in use<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">openssl s_client -starttls smtp -connect <mta>:25<\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Negotiates TLS 1.2 or 1.3<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">8<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Unsubscribe headers present<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">View raw source of a delivered campaign<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Both <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">List-Unsubscribe<\/code> (HTTPS) and <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">List-Unsubscribe-Post<\/code><\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">9<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Endpoint honors POST only<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">curl -X POST -d 'List-Unsubscribe=One-Click' <url><\/code> then <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:#F3F4F6;color:#24262B;padding:1px 5px;border-radius:4px;overflow-wrap:anywhere;\">curl -X GET <url><\/code><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">POST unsubscribes; GET does <strong>not<\/strong><\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">10<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Visible unsubscribe link<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Open a delivered campaign<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Clearly visible, no login required<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">11<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Spam rate<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Google Postmaster Tools &rarr; Spam Rate<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Below 0.10%; never at or above 0.30%<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">12<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Yahoo complaint visibility<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Yahoo Sender Hub, CFL enrolled<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Receiving ARF reports<\/td>\n      <\/tr>\n      <tr style=\"background:#FFFFFF;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;border-bottom:1px solid #EAECEF;font-family:inherit;\">13<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Unsubscribe processing time<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Unsubscribe a seed, then mail the list<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;border-bottom:1px solid #EAECEF;font-family:inherit;overflow-wrap:anywhere;\">Suppressed well within 2 days<\/td>\n      <\/tr>\n      <tr style=\"background:#F5F6F7;\">\n        <td style=\"padding:11px 8px;text-align:center;vertical-align:top;font-size:13px;font-weight:700;color:#1E9E57;font-family:inherit;\">14<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;font-family:inherit;overflow-wrap:anywhere;\"><strong style=\"color:#1F3A5C;\">Message formatting<\/strong><\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Raw source of a delivered message<\/td>\n        <td style=\"padding:11px 11px;vertical-align:top;font-size:12.5px;line-height:1.5;color:#24262B;font-family:inherit;overflow-wrap:anywhere;\">Valid <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">Message-ID<\/code>; single <code style=\"font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:#1F3A5C;\">From:<\/code> address<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Items 4, 9 and 13 fail most often in otherwise well-configured setups, because each tests <em>behavior<\/em> rather than the presence of a record. Publishing a DMARC record is trivial; passing alignment on every stream is not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Changelog_How_These_Rules_Evolved\"><\/span>Changelog: How These Rules Evolved<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>May 2026 \u2014 DMARC restandardized.<\/strong> RFC 9989 obsoletes RFC 7489 (with RFC 9990 and 9991). Gmail and Yahoo requirements are unchanged, but the record syntax is: <code>pct=<\/code> is removed, <code>np=<\/code> (non-existent subdomains) and <code>t=<\/code> (test mode) are added, and a DNS Tree Walk replaces the Public Suffix List for finding the organizational domain.<\/li>\n\n\n\n<li><strong>January\u2013July 2026 \u2014 no changes.<\/strong> Every Google Workspace Updates monthly archive for 2026 reviewed; no post touching authentication, DMARC, TLS, spam thresholds, the 5,000\/day threshold, unsubscribe, or Postmaster Tools. <em>Caveat: this covers announcements. Google has changed support-page text without announcing it, which is exactly how the 2025 escalation happened.<\/em><\/li>\n\n\n\n<li><strong>November 2025 \u2014 Gmail escalates enforcement.<\/strong> Google&#8217;s FAQ: &#8220;Starting November 2025, Gmail is ramping up its enforcement on non-compliant traffic. Messages that fail to meet the email sender requirements will experience disruptions, including temporary and permanent rejections.&#8221; The requirements did not change; the consequence of ignoring them did. <em>Google never announced this \u2014 it appeared as a silent support-page edit, with no blog post and no Workspace Updates entry that month. Researcher Al Iverson dates the edit to 3 November 2025.<\/em><\/li>\n\n\n\n<li><strong>27 October 2025 \u2014 Yahoo launches Sender Hub Insights.<\/strong> Per-DKIM-domain complaint rate and delivered volume, replacing reliance on raw feedback-loop reports alone.<\/li>\n\n\n\n<li><strong>May 2025 \u2014 Microsoft joins.<\/strong> Outlook, Hotmail and Live.com applied their own requirements at a 5,000\/day threshold from 5 May 2025, with non-compliant mail rejected as <code>550 5.7.515<\/code>. Microsoft&#8217;s announcement is internally inconsistent and both halves remain live: an April 29 revision states a decision to reject, while surrounding text still says non-compliant messages &#8220;will first be routed to Junk&#8221; with rejection &#8220;at a date to be announced.&#8221; That date was never announced and the April 2025 post remains Microsoft&#8217;s latest word. Microsoft&#8217;s published requirements cover SPF, DKIM and DMARC only \u2014 claims that it mandates one-click unsubscribe, PTR records or complaint thresholds are vendor invention. We document <a href=\"https:\/\/www.mailercloud.com\/blog\/microsoft-outlook-sender-requirements\">Microsoft&#8217;s equivalent ruleset<\/a> separately.<\/li>\n\n\n\n<li><strong>June 2024 \u2014 mitigation support withdrawn above a 0.30% spam rate.<\/strong><\/li>\n\n\n\n<li><strong>1 June 2024 \u2014 one-click unsubscribe deadline.<\/strong> Google: &#8220;Senders that already include an unsubscribe link in their messages have until June 1, 2024 to implement one-click unsubscribe in all commercial, promotional messages.&#8221; A grace deadline for senders already carrying a link, not a universal launch date.<\/li>\n\n\n\n<li><strong>1 February 2024 \u2014 requirements take effect.<\/strong> Google: &#8220;Starting February 1, 2024, all email senders who send email to Gmail accounts must meet the requirements.&#8221; Yahoo aligned on the same month.<\/li>\n\n\n\n<li><strong>December 2023 \u2014 TLS added<\/strong> to Google&#8217;s guidelines.<\/li>\n\n\n\n<li><strong>October 2023 \u2014 joint announcement<\/strong> by Google and Yahoo, giving roughly three months&#8217; notice. This is what most 2023-era coverage refers to.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_Mailercloud_Handles_This\"><\/span>How Mailercloud Handles This<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At Mailercloud we deliver over a billion emails a month, so these requirements are built into the platform rather than left to configuration. Custom DKIM signing and custom bounce domains are set up at onboarding so DMARC alignment passes on your own domain. RFC 8058 headers are added automatically to marketing sends, with unsubscribes processed immediately rather than within the two-day allowance. PTR records and TLS are managed at the infrastructure level across shared and dedicated pools, and our deliverability team monitors complaint rates against the 0.10% target rather than the 0.30% ceiling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you need help getting a domain compliant, <a href=\"https:\/\/www.mailercloud.com\/contact\">talk to our deliverability team<\/a> \u2014 or <a href=\"https:\/\/app.mailercloud.com\/register\">start free with Mailercloud<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span>FAQ<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Do these requirements apply if I send fewer than 5,000 emails a day?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Partly. SPF or DKIM, valid forward and reverse DNS, TLS, and RFC 5322 formatting apply at any volume, and authentication failures are rejected regardless of how much you send. The bulk-only additions are SPF <em>and<\/em> DKIM together, DMARC, and one-click unsubscribe. Because bulk classification is permanent once triggered, implement the full set if you are anywhere near the threshold.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is p=none really enough for DMARC?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, as of this review date. But <code>p=none<\/code> offers no protection against domain spoofing, and DMARC must actually <em>pass<\/em> with alignment \u2014 a published record that fails alignment does not satisfy the requirement. Use <code>p=none<\/code> with aggregate reporting to find misaligned streams, then move to <code>p=quarantine<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does the 5,000 threshold count business email addresses?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. Only <code>@gmail.com<\/code> and <code>@googlemail.com<\/code> count. Google states the guidelines do not apply to Google Workspace accounts, so mail to corporate domains hosted on Workspace is judged by the receiving organization&#8217;s own filtering.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">If my volume drops below 5,000, do I stop being a bulk sender?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. Google is explicit that bulk sender status has no expiration date and is unaffected by later changes in sending practice. A single day above the threshold classifies you indefinitely. Microsoft applies the same stickiness.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why is my spam rate rising when complaints are flat?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Because the denominator is inbox-delivered mail. As reputation degrades and more mail is routed to spam, fewer messages count in the denominator, so the same number of complaints produces a higher percentage. It accelerates once it starts \u2014 which is why 0.10% is the number to manage to, not 0.30%.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The current Gmail and Yahoo sender requirements \u2014 exact thresholds, the 5,000\/day rule, one-click unsubscribe headers, spam rate limits, and what is enforced today.<\/p>\n","protected":false},"author":19,"featured_media":5335,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[45,53,64,72,73,71],"class_list":["post-5216","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-delivery","tag-deliverability","tag-dmarc","tag-gmail","tag-one-click-unsubscribe","tag-sender-requirements","tag-yahoo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gmail &amp; Yahoo Sender Requirements: The 2026 Reference<\/title>\n<meta name=\"description\" content=\"Gmail and Yahoo sender requirements: the 5,000\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gmail &amp; Yahoo Sender Requirements: The 2026 Reference\" \/>\n<meta property=\"og:description\" content=\"Gmail and Yahoo sender requirements: the 5,000\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements\" \/>\n<meta property=\"og:site_name\" content=\"Mailercloud Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/mailercloud\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/cherikkapoyil.amar\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-11T09:04:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-08T04:31:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"760\" \/>\n\t<meta property=\"og:image:height\" content=\"380\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Amar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mailercloud\" \/>\n<meta name=\"twitter:site\" content=\"@mailercloud\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Amar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements\"},\"author\":{\"name\":\"Amar\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f3151b32a261b5f5df0a7968fa64945\"},\"headline\":\"Gmail &#038; Yahoo Sender Requirements: The Complete 2026 Reference\",\"datePublished\":\"2026-08-11T09:04:35+00:00\",\"dateModified\":\"2026-09-08T04:31:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements\"},\"wordCount\":2963,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Gmail-Yahoo-Sender-Requirements.jpg\",\"keywords\":[\"deliverability\",\"DMARC\",\"gmail\",\"one-click unsubscribe\",\"sender requirements\",\"yahoo\"],\"articleSection\":[\"Email Delivery\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements\",\"name\":\"Gmail & Yahoo Sender Requirements: The 2026 Reference\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Gmail-Yahoo-Sender-Requirements.jpg\",\"datePublished\":\"2026-08-11T09:04:35+00:00\",\"dateModified\":\"2026-09-08T04:31:37+00:00\",\"description\":\"Gmail and Yahoo sender requirements: the 5,000\\\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#primaryimage\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Gmail-Yahoo-Sender-Requirements.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Gmail-Yahoo-Sender-Requirements.jpg\",\"width\":760,\"height\":380,\"caption\":\"Gmail & Yahoo Sender Requirements: The Complete 2026 Reference\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/gmail-yahoo-sender-requirements#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gmail &#038; Yahoo Sender Requirements: The Complete 2026 Reference\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/\",\"name\":\"Mailercloud Blog\",\"description\":\"Create And Implement Email Marketing Campaigns\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#organization\",\"name\":\"Mailercloud Blog\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/footer_logo.png\",\"contentUrl\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/footer_logo.png\",\"width\":141,\"height\":30,\"caption\":\"Mailercloud Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/mailercloud\",\"https:\\\/\\\/x.com\\\/mailercloud\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/mailercloud\\\/\",\"https:\\\/\\\/www.instagram.com\\\/mailercloud\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCslSwv-TECN8rLvFM8wRlog\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f3151b32a261b5f5df0a7968fa64945\",\"name\":\"Amar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/1547012193070-150x150.jpeg\",\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/1547012193070-150x150.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/1547012193070-150x150.jpeg\",\"caption\":\"Amar\"},\"description\":\"Amar CP is the Co-Founder and Sales Director at Mailercloud, where he leads partnerships, alliances, and customer growth. With over a decade of experience in application development, database architecture, and scaling web systems, Amar brings a rare blend of engineering depth and go-to-market expertise to email marketing. He writes about email deliverability, marketing automation, and helping small businesses grow smarter with data-driven campaigns.\",\"sameAs\":[\"http:\\\/\\\/www.mailercloud.com\",\"https:\\\/\\\/www.facebook.com\\\/cherikkapoyil.amar\",\"https:\\\/\\\/www.instagram.com\\\/amar.cp\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/amarcp\\\/\"],\"url\":\"https:\\\/\\\/www.mailercloud.com\\\/blog\\\/author\\\/amarmailercloud-com\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gmail & Yahoo Sender Requirements: The 2026 Reference","description":"Gmail and Yahoo sender requirements: the 5,000\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained","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:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements","og_locale":"en_US","og_type":"article","og_title":"Gmail & Yahoo Sender Requirements: The 2026 Reference","og_description":"Gmail and Yahoo sender requirements: the 5,000\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained","og_url":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements","og_site_name":"Mailercloud Blog","article_publisher":"https:\/\/www.facebook.com\/mailercloud","article_author":"https:\/\/www.facebook.com\/cherikkapoyil.amar","article_published_time":"2026-08-11T09:04:35+00:00","article_modified_time":"2026-09-08T04:31:37+00:00","og_image":[{"width":760,"height":380,"url":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg","type":"image\/jpeg"}],"author":"Amar","twitter_card":"summary_large_image","twitter_creator":"@mailercloud","twitter_site":"@mailercloud","twitter_misc":{"Written by":"Amar","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#article","isPartOf":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements"},"author":{"name":"Amar","@id":"https:\/\/www.mailercloud.com\/blog\/#\/schema\/person\/0f3151b32a261b5f5df0a7968fa64945"},"headline":"Gmail &#038; Yahoo Sender Requirements: The Complete 2026 Reference","datePublished":"2026-08-11T09:04:35+00:00","dateModified":"2026-09-08T04:31:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements"},"wordCount":2963,"commentCount":0,"publisher":{"@id":"https:\/\/www.mailercloud.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#primaryimage"},"thumbnailUrl":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg","keywords":["deliverability","DMARC","gmail","one-click unsubscribe","sender requirements","yahoo"],"articleSection":["Email Delivery"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements","url":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements","name":"Gmail & Yahoo Sender Requirements: The 2026 Reference","isPartOf":{"@id":"https:\/\/www.mailercloud.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#primaryimage"},"image":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#primaryimage"},"thumbnailUrl":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg","datePublished":"2026-08-11T09:04:35+00:00","dateModified":"2026-09-08T04:31:37+00:00","description":"Gmail and Yahoo sender requirements: the 5,000\/day rule, SPF, DKIM, DMARC, one-click unsubscribe, and the 0.3% spam rate ceiling explained","breadcrumb":{"@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#primaryimage","url":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg","contentUrl":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/07\/Gmail-Yahoo-Sender-Requirements.jpg","width":760,"height":380,"caption":"Gmail & Yahoo Sender Requirements: The Complete 2026 Reference"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailercloud.com\/blog\/gmail-yahoo-sender-requirements#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailercloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Gmail &#038; Yahoo Sender Requirements: The Complete 2026 Reference"}]},{"@type":"WebSite","@id":"https:\/\/www.mailercloud.com\/blog\/#website","url":"https:\/\/www.mailercloud.com\/blog\/","name":"Mailercloud Blog","description":"Create And Implement Email Marketing Campaigns","publisher":{"@id":"https:\/\/www.mailercloud.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailercloud.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.mailercloud.com\/blog\/#organization","name":"Mailercloud Blog","url":"https:\/\/www.mailercloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mailercloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2025\/02\/footer_logo.png","contentUrl":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2025\/02\/footer_logo.png","width":141,"height":30,"caption":"Mailercloud Blog"},"image":{"@id":"https:\/\/www.mailercloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/mailercloud","https:\/\/x.com\/mailercloud","https:\/\/www.linkedin.com\/company\/mailercloud\/","https:\/\/www.instagram.com\/mailercloud\/","https:\/\/www.youtube.com\/channel\/UCslSwv-TECN8rLvFM8wRlog"]},{"@type":"Person","@id":"https:\/\/www.mailercloud.com\/blog\/#\/schema\/person\/0f3151b32a261b5f5df0a7968fa64945","name":"Amar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/04\/1547012193070-150x150.jpeg","url":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/04\/1547012193070-150x150.jpeg","contentUrl":"https:\/\/www.mailercloud.com\/blog\/wp-content\/uploads\/2026\/04\/1547012193070-150x150.jpeg","caption":"Amar"},"description":"Amar CP is the Co-Founder and Sales Director at Mailercloud, where he leads partnerships, alliances, and customer growth. With over a decade of experience in application development, database architecture, and scaling web systems, Amar brings a rare blend of engineering depth and go-to-market expertise to email marketing. He writes about email deliverability, marketing automation, and helping small businesses grow smarter with data-driven campaigns.","sameAs":["http:\/\/www.mailercloud.com","https:\/\/www.facebook.com\/cherikkapoyil.amar","https:\/\/www.instagram.com\/amar.cp\/","https:\/\/www.linkedin.com\/in\/amarcp\/"],"url":"https:\/\/www.mailercloud.com\/blog\/author\/amarmailercloud-com"}]}},"_links":{"self":[{"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/posts\/5216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/comments?post=5216"}],"version-history":[{"count":5,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/posts\/5216\/revisions"}],"predecessor-version":[{"id":5571,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/posts\/5216\/revisions\/5571"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/media\/5335"}],"wp:attachment":[{"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/media?parent=5216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/categories?post=5216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mailercloud.com\/blog\/wp-json\/wp\/v2\/tags?post=5216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}