Skip to content
Gmail and Google Workspace · temporary error

4.7.31: no DMARC record, in Google's FAQ

Google's sender guidelines FAQ lists 4.7.31 for mail rate limited because the sending domain has no DMARC record, or has one without a policy.

Gmail
Provider
Temporary (4xx)
Class
Sources checked
Author

At a glance

Code
4.7.31
Temporary or permanent
TemporaryThe sending server keeps the message and tries again later.
Who has to act
The sender. The fix is on the sending side: your domain, your server or your list.
What the server says
4.7.31 Your email has been rate limited because the sending domain doesn't have a DMARC record…

What it means

Google's FAQ on its sender guidelines lists this code among the temporary failures it sends when a bulk sender misses a requirement. Its description matches 421 4.7.40 in Google's SMTP reference word for word: the sending domain has no DMARC record, or its record does not specify a policy. The two pages give different codes for the same problem, and the FAQ gives no reply code, so this entry carries the enhanced code alone. Treat it exactly like 4.7.40: bulk senders must publish DMARC, and a policy of p=none meets the requirement.

Common causes

  • No DMARC record is published at _dmarc for the From domain.
  • The record is malformed, or lacks the p= policy tag.

How to fix it

  1. 01Look up your domain's DMARC record to see what Gmail sees.
  2. 02Publish a TXT record at _dmarc.yourdomain with at least v=DMARC1; p=none, plus a rua address for reports.
  3. 03Let deferred mail retry once the record is live.

Sources

What this page rests on, checked on 20 Oct 2026. The explanation is ours; the reply text is the server's.

  1. 421 4.7.40No DMARC record, rate limited.Gmail is rate limiting your mail because the sending domain has no DMARC record, or its record sets no policy, which Gmail requires of bulk senders.GmailTemporary
  2. 550 5.7.40No DMARC record, blocked.Gmail rejected the message because the sending domain has no DMARC record, or its record has no policy, which Gmail requires of bulk senders.GmailPermanent

Further reading

All 108 Gmail codesEvery code in the wikiPaste your own bounce

Beat · paid monitoring

A heartbeat for your email.

Beat runs every check on this site on a schedule: 41 checks, 33 blacklists and real inbox placement. The moment something breaks, it tells you what broke, why it matters, and the exact fix.

example.comWatching
  • SPFpass
  • DKIMpass
  • DMARCp=none
  • Blacklists0 of 33

Illustrative. Your domain, every few hours.

Also from us:Pulse: your own sending infrastructureConsulting: $65/hr, no retainer