Bulk sender requirements
Gmail, Microsoft and Yahoo classify any domain sending roughly 5,000 messages a day to their users as a bulk sender, permanently. Here is what they require, and what Sendry checks for you before you cross the line.
Bulk sender requirements
Gmail treats any domain that sends roughly 5,000 or more messages a day to personal gmail.com accounts as a bulk sender. Microsoft enforces the same 5,000-a-day threshold for outlook.com, hotmail.com and live.com, and Yahoo runs an equivalent policy.
Two things make this worth planning for rather than discovering:
- The classification is permanent. Once a domain has been seen sending at bulk volume, it keeps the bulk sender label even if volume drops afterwards.
- Non-compliant bulk mail is rejected, not filtered. Gmail returns an SMTP
error such as
550-5.7.26at the connection, so the message never reaches a spam folder where you might notice it. Your bounce rate spikes instead.
The threshold counts recipients, not messages: one send to 30 gmail.com addresses counts as 30.
What the providers require
| Requirement | Detail |
|---|---|
| SPF | The sending domain must publish SPF and the mail must pass it. |
| DKIM | Every message must carry a valid DKIM signature. |
| DMARC | The From domain must publish a DMARC record. p=none is the minimum accepted policy. |
| Alignment | The From domain must align with either the SPF return path domain or the DKIM d= domain. Passing SPF and DKIM without alignment still fails DMARC. |
| One-click unsubscribe | Marketing and subscribed mail must include RFC 8058 List-Unsubscribe and List-Unsubscribe-Post headers, and the unsubscribe must be honoured within two days. |
| Visible unsubscribe | A clearly visible unsubscribe link in the message body, in addition to the header. |
| Spam complaint rate | Must stay under 0.3% as reported by Gmail Postmaster Tools. Treat 0.08% as the real operating target: above it, throttling starts long before the hard limit. |
| Valid PTR / forward-confirmed reverse DNS | The sending IP must have matching forward and reverse DNS. |
| TLS | Connections must use TLS for transmission. |
| RFC 5322 formatting | Well-formed headers, no impersonation of Gmail From headers. |
Microsoft's requirements mirror Gmail's: SPF, DKIM, DMARC with at least
p=none, alignment, functional unsubscribe, and valid reverse DNS. Microsoft
began routing non-compliant bulk mail to Junk before moving to outright
rejection, so a domain can look "fine" in delivery stats while its inbox
placement is already gone.
What Sendry checks for you
Sendry watches your trailing 24-hour volume per verified domain, split by mailbox provider group, and warns you before you cross the line rather than after.
- Volume by provider. Every recipient of every sent message is bucketed into
Google, Microsoft, Yahoo or other, including country variants such as
outlook.co.uk,hotmail.frandyahoo.co.jp. - Readiness. A domain counts as ready only when SPF, DKIM and DMARC are all verified on the domain. A domain with no DMARC record at all is flagged as the most severe gap, since that alone gets bulk mail rejected.
- Status.
approachingfrom 80% of the threshold (4,000 a day by default),at_riskat or above it. A fully authenticated domain is never reported at risk, however much it sends. - A warning email. The
bulk_sender_thresholdnotification goes to every org member who has domain issue notifications enabled, at most once per domain per provider per day. An hourly worker does the checking.
The Bulk sender readiness card on the Deliverability page shows each flagged domain, its volume against the threshold per provider, and the specific things left to fix.
API
GET /v1/deliverability/bulk-sender-readiness
Authorization: Bearer re_xxxxxxxxxxxx
Requires read_only scope or higher.
{
"threshold": 5000,
"warn_at": 4000,
"window_hours": 24,
"measured_from": "2026-09-03T18:00:00.000Z",
"summary": { "ok": 2, "approaching": 1, "at_risk": 0 },
"domains": [
{
"domain_id": "dom_abc123",
"domain_name": "mail.acme.com",
"status": "approaching",
"ready": false,
"spf_verified": true,
"dkim_verified": true,
"dmarc_verified": false,
"has_dmarc_record": false,
"total_volume": 4310,
"providers": [
{
"provider": "google",
"provider_label": "Gmail",
"volume": 4102,
"status": "approaching",
"threshold": 5000,
"warn_at": 4000,
"reasons": [
"mail.acme.com sent 4,102 messages to Gmail in the last 24 hours, 82% of the 5,000/day bulk sender threshold.",
"No DMARC record for mail.acme.com. Bulk senders must publish DMARC with at least p=none; without it Gmail and Microsoft reject the mail outright."
]
}
]
}
]
}
Pass ?threshold= to preview the assessment against a different line, for
example ?threshold=1000 to see which domains would be flagged at a lower
volume.
Getting compliant
- Verify SPF, DKIM and DMARC on every sending domain. Sendry publishes the
exact records on the domain detail page; DMARC starts at
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. - Keep the From domain aligned. Send from a subdomain you control, for
example
mail.acme.com, and let Sendry manage the return path so SPF aligns. - Turn on one-click unsubscribe for every marketing and subscribed send. Sendry adds the RFC 8058 headers and processes the unsubscribe immediately, well inside the two-day window.
- Watch complaints. Connect Gmail Postmaster Tools so the real Gmail-reported spam rate appears next to your own metrics, and keep it under 0.08%.
- Warm up gradually. Do not jump from 500 a day to 6,000. Ramp so the providers see a stable, authenticated pattern before you cross the threshold.
Configuration
BULK_SENDER_THRESHOLD overrides the 5,000-a-day line used by the endpoint, the
dashboard card and the hourly worker. It exists so a self-hosted deployment can
exercise the warning path without generating thousands of sends; leave it at the
default of 5000 in production.
BULK_SENDER_THRESHOLD=5000AI in the Editor
Generate subject lines, preview text, and image alt-text in multiple languages, and reference existing broadcasts or templates with @mentions.
Gmail Postmaster Tools
Connect Gmail Postmaster Tools to Sendry to pull spam-rate, IP and domain reputation, SPF/DKIM/DMARC pass rates, and delivery errors directly into your deliverability dashboard.