Google's **Sender requirements updates** table lists one addition, “Use a TLS connection for transmitting email,” dated “Dec. 2023.” Its FAQ says, “Starting November 2025, Gmail is ramping up its enforcement on non-compliant traffic.” Ten months into that ramp, a sender can learn about non-compliance from a rejection instead of a quiet change in spam placement. The FAQ puts the consequence plainly: “Messages that fail to meet the email sender requirements will experience disruptions, including temporary and permanent rejections.”

That changes the signal you watch. A dip in opens is ambiguous. An SMTP response tells you what Gmail refused and gives you a starting point. This guide maps the common sender situations to the response, the Bird event, and the action to take today.

## First, find your sender situation

Gmail counts messages sent to personal Gmail accounts. A bulk sender is any sender that sends close to 5,000 messages or more in 24 hours, counting messages from the same primary domain together. Once you meet that threshold, Google permanently considers you a bulk sender. The FAQ says, “Senders who meet the above criteria at least once are permanently considered bulk senders.”

The guidelines apply to every sender for personal Gmail traffic. Bulk senders have additional requirements for DMARC alignment, spam rate, and one-click unsubscribe on marketing and promotional mail. The requirements don't apply to Google Workspace inbound and intra-domain messages.

## You send transactional mail and think bulk rules are not yours

Transactional mail still needs sender authentication, TLS, valid DNS, and correctly formatted headers. One-click unsubscribe is excluded for transactional messages, such as password resets, reservation confirmations, and form submission confirmations. The volume threshold changes which extra requirements apply; it does not make a transactional sender invisible to Gmail.

A sudden volume limit often appears as this Google response:

> `421 4.7.28 Gmail has detected an unusual rate of email. To protect our users from spam, email has been temporarily rate limited.`

A `421` is temporary. Pause the send, inspect the response and your volume by primary domain and IP, then increase gradually. If the issue is a permanent recipient failure instead, Gmail may return:

> `550 5.1.1 The email account that you tried to reach does not exist. Please double-check the recipient's email address for typos or unnecessary spaces.`

With Bird, look at the recipient's `email.deferred` or `email.bounced` event. The webhook includes `bounce_code` and `bounce_description`; a hard bounce creates a suppression that blocks later mail to that address. A send accepted by Bird is not delivery evidence. A `202` response means Bird accepted the request, while recipient outcomes arrive through [email events](/docs/guides/email/events).

Today, check your sending volume by primary domain, keep retries for temporary failures, and let Bird's [suppression handling](/docs/guides/email/suppressions) stop hard-bounce addresses. Set `category: "transactional"` for operational mail so a complaint or marketing opt-out does not block a legitimate password reset.

## You send marketing mail and are near the spam line

Google recommends keeping the user-reported spam rate below 0.1% and avoiding 0.3% or higher. Gmail calculates the rate daily. At more than 0.3%, bulk senders are ineligible for delivery mitigations. Bulk senders become eligible again when the rate remains below 0.3% for 7 consecutive days. These thresholds apply to Google's user-reported figure in [Postmaster Tools](https://postmaster.google.com/), not Bird's separate complaint rate. Bird's complaint rate remains useful as an operational early signal. One-click unsubscribe is required for marketing and promotional messages, while transactional messages are excluded.

The symptom can be a temporary rate limit or a permanent block. Google's SMTP reference describes a temporary rate limit this way:

> `421 4.7.28 Gmail has detected an unusual rate of email. To protect our users from spam, email has been temporarily rate limited.`

It also lists this permanent policy response:

> `550 5.7.1 This message is likely unsolicited email. To reduce the amount of spam sent to Gmail, this message has been blocked.`

In Bird, inspect `email.complained` events and the complaint rate in the Metrics page. A complaint records a suppression for non-transactional mail, so future marketing sends to that address are rejected while transactional mail can still go through. A rejected recipient produces `email.rejected` with `rejection_reason: "recipient_suppressed"`; it never reaches Gmail.

Set the send category to `marketing` for campaigns. Bird adds the `List-Unsubscribe` and `List-Unsubscribe-Post` headers and a visible body link to marketing sends. Follow the [one-click unsubscribe guide](/explained/deliverability/what-is-one-click-unsubscribe) and [spam complaint rate guide](/explained/deliverability/what-is-a-spam-complaint-rate), then review the [Gmail and Yahoo requirements](/explained/deliverability/what-are-the-gmail-and-yahoo-bulk-sender-requirements) before increasing volume again.

## Your agents send through the API

An API call can succeed while Gmail later rejects a recipient. Bird returns `202 Accepted` when it has durably accepted the request. The receiving server's response arrives later as a delivery, deferral, bounce, complaint, or rejection event.

For example, Google's reference reports an unauthenticated block as:

> `550 5.7.26 This email has been blocked because the sender is unauthenticated. Gmail requires all senders to authenticate with either SPF or DKIM.`

A policy or reputation block can instead look like:

> `550 5.7.1 This message is likely unsolicited email. To reduce the amount of spam sent to Gmail, this message has been blocked.`

Your agent should persist the message ID from the API response, subscribe to [email webhooks](/docs/guides/email/events), and branch on the event rather than treating `202` as inbox placement. For a bounce, store the code and description and stop retrying hard failures. For a complaint, keep the complaint suppression in place for marketing mail. For a `recipient_suppressed` rejection, fix the recipient selection or preference state before sending again.

Use the [email API](/docs/guides/email/sending-email) with a verified sending domain. The domain's DNS records supply DKIM, the return path supplies SPF alignment, and the DMARC record supplies the policy. The [DMARC alignment guide](/explained/deliverability/what-is-dmarc-alignment) explains the check that Gmail applies to the visible From domain.

## You authenticated once, but the From domain is not aligned

Passing SPF or DKIM for a provider domain is not enough for a bulk sender. For direct mail to personal Gmail accounts, the organizational domain in the From header must align with either the SPF organizational domain or the DKIM organizational domain. Gmail reports a temporary alignment failure as:

> `421 4.7.32 Your email has been rate limited because the From: header (RFC5322) in this message isn't aligned with either the authenticated SPF or DKIM organizational domain.`

A published alignment response is:

> `421 5.7.32 Your email was blocked because the From: header (RFC5322) in this message isn't aligned with either the authenticated SPF or DKIM organizational domain.`

Google publishes this as a `421` response, so treat it as temporary while you correct alignment and retry in a controlled way.

Bird surfaces the result in the delivery or bounce event, including the provider's SMTP code and description. Fix the sending domain rather than changing the recipient list: verify the domain in **Email** > **Domains**, publish the DKIM and return-path records Bird gives you, and publish a valid DMARC record. Then send a test and inspect the received headers. The [DKIM, SPF and DMARC guide](/docs/guides/email/dkim-spf-dmarc) covers each record and the [DMARC alignment page](/explained/deliverability/what-is-dmarc-alignment) shows the matching domains.

## What to check this week

- Check whether your traffic to personal Gmail accounts has crossed the bulk threshold. The count follows the primary domain, and bulk status is permanent.
- Read SMTP codes and descriptions from your event payloads. A `421` calls for a controlled retry; a `550` usually calls for a configuration, recipient, or policy fix.
- Keep the spam rate below 0.1% and away from 0.3%. Remove recipients who complain or hard-bounce through Bird's suppression and preference handling.
- Verify SPF, DKIM, DMARC, and alignment for every From domain. Use one-click unsubscribe and a visible body link on marketing mail.

Google's [email sender guidelines](https://support.google.com/mail/answer/81126) are the source of the requirements and SMTP examples. Its [sender guidelines FAQ](https://support.google.com/a/answer/14229414) explains enforcement, bulk-sender status, spam-rate consequences, and the transactional exception. Keep both pages close to your monitoring runbook as Google updates the guidance.

## Related resources

- [Email opt-outs](/products/email/suppressions) (product)
- [What happens when someone opts out](/learn/email/what-happens-when-someone-opts-out) (video)
- [Operate messaging reliably](/learn/paths/reliability) (course)

[Get an implementation brief](/learn/workspace?topic=email-suppression)
