Enhanced Status Code 4.7.29: Rate Limited - Connection Not Encrypted
Enhanced Status Code 4.7.29 means “Rate Limited - Connection Not Encrypted.” Google is throttling your mail because the connection did not use TLS. Opportunistic encryption is no longer optional at volume, and cleartext delivery now costs you throughput.
421 4.7.29 Email rate limited. The message was not sent over a TLS connection
What does 4.7.29 mean?
Google returns 4.7.29 with a 421 reply and text saying the message is rate limited because a TLS connection was not used. The registry assigns X.7.29 to ARC validation failure, which is the meaning that applies to the permanent 5.7.29 in specification terms, but the temporary form as senders encounter it is Google's TLS throttle.
The cause is usually not a decision to send in cleartext. It is a server that offers STARTTLS but fails to negotiate, or one where STARTTLS was never configured because it was not required when the server was built. Some older MTAs also fall back to cleartext silently when a TLS handshake fails, converting a certificate problem into an encryption problem without logging either clearly. If you are seeing this code, the first question is whether your outbound MTA is attempting STARTTLS at all.
This is a direction of travel rather than a one-off rule. Receivers have moved from tolerating cleartext, to preferring TLS, to penalising its absence, and MTA-STS makes the requirement explicit and enforceable. A sender still delivering in cleartext in 2026 is accumulating friction across multiple providers, not just Google.
How 4.7.29 plays out
4.7.29 replyWhere 4.7.29 sits: soft vs hard bounce
| Soft bounce (4xx) | Hard bounce (5xx) | |
|---|---|---|
| Nature | Temporary | Permanent |
| SMTP class | 4xx | 5xx |
| What to do | Let it retry | Suppress the address |
| Recoverable? | Often | No |
| 4.7.29 is | ✓ this code |
What each provider means by 4.7.29
A registered code does not oblige a provider to use it that way, and the large ones diverge. Match the wording in your own bounce, not the definition above.
Common causes of 4.7.29
- STARTTLS is not enabled on the outbound mail server
- The TLS handshake fails and the MTA silently falls back to cleartext
- The server offers only TLS versions the receiver has retired, such as 1.0 or 1.1
- No certificate is configured, so the server cannot complete a handshake
- A firewall or proxy is stripping the STARTTLS capability from the conversation
- An old MTA build has opportunistic TLS disabled by default
How to fix 4.7.29
- Enable STARTTLS on the outbound server and confirm it is offered on the connection
- Test with openssl s_client -starttls smtp against the destination and read the negotiated version
- Enable TLS 1.2 and 1.3 and remove TLS 1.0 and 1.1
- Check the MTA logs for silent cleartext fallback after a failed handshake
- Verify no middlebox is stripping the STARTTLS advertisement
- Publish MTA-STS for your own domain once outbound TLS is reliable