Guides
Google and Yahoo bulk sender requirements
21 October 2026
Gmail and Yahoo ask every sender for SPF or DKIM, valid forward and reverse DNS, standards-compliant messages, and a spam rate under 0.3%. Bulk senders also need both SPF and DKIM, a DMARC record that passes with the From domain aligned, and one-click unsubscribe on marketing mail. Most of it is DNS you can check today. The rest is how you run your list.
Who counts as a bulk sender
Google’s line is a number. Its email sender guidelines apply the bulk rules to senders who send more than 5,000 messages a day to personal Gmail accounts. The sender guidelines FAQ fills in three details that catch people out:
- The count covers a 24-hour period and only messages to personal Gmail accounts.
- Messages sent from the same primary domain count together. Mail from
news.example.comadds to the total forexample.com. - Bulk sender status does not expire. Hit 5,000 once and Google treats the domain as a bulk sender from then on, even if you send less later.
Yahoo’s Sender Best Practices page does not publish a number. It describes bulk senders by volume and leaves it there. If you send newsletters or promotions to more than a handful of people, plan to meet the bulk list. It is not much more work than the basic list, and it covers you at both providers.
Microsoft joined in 2025. Its Outlook.com postmaster policies say that from 5 May 2025, domains sending more than 5,000 emails a day to Outlook.com accounts must pass SPF, pass DKIM, and publish DMARC of at least p=none, aligned with SPF or DKIM. Mail that falls short goes to junk at first and can later be rejected with 550; 5.7.515.
What every sender needs
These apply even if you send a few hundred messages a month.
- SPF or DKIM. Google and Yahoo both ask for at least one. SPF lists the servers allowed to send for your domain. DKIM signs each message with a key published in your DNS.
- Forward and reverse DNS for the sending IP. The IP’s PTR record must point to a hostname, and that hostname must resolve back to the same IP. If you send through an email service, the service owns the IP and handles this. If you run your own mail server, it is on you or your host.
- TLS. Google asks that mail be sent over a TLS connection. Again, any current email service does this already.
- Correct message format. Google cites RFC 5322. Yahoo cites RFC 5321 and RFC 5322. Among other things, that means exactly one From header and one Date header on every message.
- A spam rate under 0.3%. Google measures it in Postmaster Tools and recommends staying below 0.10%. Yahoo uses the same 0.3% line and notes that it calculates the rate on mail it delivered to the inbox, not on everything you sent.
- No faking Gmail. Google says not to impersonate Gmail From headers. Sending from a
gmail.comaddress through a third-party service is exactly that.
Google also requires DKIM keys of at least 1024 bits for mail to personal Gmail accounts, and recommends 2048 bits where your DNS host allows it.
What bulk senders need on top
- Both SPF and DKIM. Either one is no longer enough.
- A DMARC record. Google’s wording is to set up DMARC for the sending domain, and the policy can be
none. Yahoo says a valid DMARC policy of at leastp=none, and that DMARC must pass. - Alignment. The domain in the visible From header must match the domain that passed SPF or the domain that signed with DKIM. Relaxed alignment is fine, so
mail.example.comlines up withexample.com. One aligned pass is enough. - One-click unsubscribe on marketing and subscribed mail. That means the
List-UnsubscribeandList-Unsubscribe-Postheaders, plus a visible unsubscribe link in the message body. Google says the link alone does not replace one-click. - Unsubscribes honored within two days. Yahoo says two days. Google’s FAQ says 48 hours.
Yahoo strongly recommends adding an rua address to the DMARC record so you get aggregate reports while you set things up. It also asks senders that forward mail to add ARC headers.
Transactional mail and forwarded mail
One-click unsubscribe is for marketing and promotional messages. Google’s FAQ lists password resets, reservation confirmations, and form confirmations as examples that do not need it. They still need the authentication.
Google also says DMARC alignment is not required for indirect mail, meaning messages that were forwarded or sent through a mailing list. That matters because forwarding often breaks SPF, and lists that edit the subject or footer break DKIM. You cannot fix those breaks from your own DNS, and the rule does not expect you to.
What happens if you do not comply
Google started in February 2024 and has tightened over time. Its FAQ gives the milestones:
- From February 2024, senders who do not meet the guidelines get no help from Google with delivery problems.
- From June 2024, bulk senders with a user-reported spam rate above 0.3% are not eligible for that help either. Senders who already had an unsubscribe link had until 1 June 2024 to add one-click.
- From November 2025, Gmail is ramping up enforcement on non-compliant traffic. Messages can be delayed, rejected, or sent to spam.
The FAQ lists the error codes Gmail returns, which makes a bounce easier to diagnose:
4.7.27(temporary) or5.7.27(permanent): SPF did not pass.4.7.30or5.7.30: DKIM did not pass.4.7.31: no DMARC record, or a record with no policy.4.7.32: the From domain is not aligned with SPF or DKIM.4.7.23or5.7.25: the sending IP has no valid PTR record.4.7.29or5.7.29: the message was not sent over TLS.
Yahoo announced enforcement starting in February 2024, rolled out gradually through the first half of that year.
How to comply, in order
1. List everything that sends as your domain
Your mailbox provider (Google Workspace, Microsoft 365), your newsletter tool, your store platform, your help desk, your invoicing app, and anything a developer wired up years ago. Each one needs to pass SPF or DKIM as your domain. Most people find one they forgot. Your first DMARC reports will show you the rest.
2. Publish one SPF record
One TXT record at the domain, starting with v=spf1, with an include for each service that sends with your domain in the envelope sender. Two SPF records at the same name is an error, not a backup. Keep it under the ten DNS lookup limit.
v=spf1 include:spf.provider-one.example include:spf.provider-two.example ~all
The include names are placeholders. Copy the exact include each provider documents for your account.
3. Turn on DKIM for each service, on your domain
Most services sign with their own domain until you set up your own. That signature passes DKIM but does not align with your From domain, so it does not count for DMARC. Each service has a DNS step, usually one or more CNAME or TXT records at a selector such as s1._domainkey.example.com. Publish them, then turn signing on in the service.
4. Publish a DMARC record at p=none
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
That meets the bulk requirement at both providers. DMARC was defined in RFC 7489, which RFC 9989 replaced in May 2026 with the same basic record. p=none asks receivers to take no action on failures. The rua address gets daily aggregate reports, which you can learn to read with our guide to DMARC reports. Nothing here requires quarantine or reject. Moving there later is still worth doing, once the reports show only your own mail passing.
5. Send a test and read the headers
Send a real campaign or message to a Gmail address you control. Open it, click the three-dot More menu next to Reply, and choose Show original (Google documents this in its full headers help). Look for the Authentication-Results header, defined in RFC 8601. You want spf=pass or dkim=pass on your own domain, and a DMARC pass. If DKIM passes but header.d= shows the provider’s domain, step 3 is not finished for that service.
6. Add one-click unsubscribe
If you send through an email marketing platform, check its help pages for one-click unsubscribe before you build anything. If you send from your own code, RFC 8058 spells out what is needed:
List-Unsubscribe: <https://example.com/unsub?u=8f3a2c>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
- The
List-Unsubscribeheader must contain one HTTPS URL. Amailto:can sit beside it. - The URL has to identify both the recipient and the list, so the unsubscribe completes with no further input.
- Your server must not answer that POST with a redirect, and the request carries no cookies or login.
- The message must carry a valid DKIM signature that covers both headers.
Keep the visible unsubscribe link in the footer too.
7. Watch your spam rate
Sign up for Google Postmaster Tools and verify your domain. It shows the user-reported spam rate Google measures against the 0.3% line. The fixes for a high rate are not in DNS: stop mailing people who never opted in, remove addresses that have not opened in a long time, and make the unsubscribe easy to find.
What the rules do not promise
Meeting every item does not guarantee the inbox. Google says authenticated messages are less likely to be rejected or marked as spam by Gmail. Less likely is the promise. Content, complaints, and sending history still count. What the rules do is remove an easy reason to block you. Missing DNS is the most common one, and the cheapest to fix.
Sources
- Google: Email sender guidelines: requirements for all senders and for more than 5,000 messages a day
- Google: Email sender guidelines FAQ: how volume is counted, enforcement dates, error codes
- Yahoo Sender Hub: Sender Best Practices: all-sender and bulk-sender requirements
- Microsoft: Outlook.com postmaster policies: high-volume sender requirements from 5 May 2025
- RFC 7208: SPF
- RFC 6376: DKIM
- RFC 9989: DMARC (replaces RFC 7489)
- RFC 7489: DMARC
- RFC 8058: One-click unsubscribe
- RFC 8601: Authentication-Results header
- Google: Trace an email with its full headers