Critical ErrorSMTP Error · Permanent (5.x.x)
550 5.7.40

Gmail blocked the message: no valid DMARC record

A 550 5.7.40 from Gmail means the sending domain has no DMARC record, or the record is not valid. Gmail says: "Your message was blocked because the sending domain doesn't have a DMARC record or the DMARC record..." The temporary form is 421 4.7.40.

Updated June 13, 2026

SMTP Exchange / Mail Log
> MAIL FROM:<you@yourdomain.com>> RCPT TO:<recipient@example.com>✕ 550 5.7.40 Gmail blocked the message: no valid DMARC record
All guides

Is your domain affected?

Run a free check — we'll show you exactly what's misconfigured.

550 5.7.40 is a permanent SMTP reply meaning gmail blocked the message: no valid dmarc record. Gmail requires bulk senders to publish DMARC for the domain in the From: address. Without a valid record at _dmarc.yourdomain, Gmail rate limits and then blocks the mail.

What 550 5.7.40 means

Gmail requires bulk senders to publish DMARC for the domain in the From: address. Without a valid record at _dmarc.yourdomain, Gmail rate limits and then blocks the mail.

⚠️
This is a 5.x.x permanent failure — the message will keep bouncing until you fix the cause. Retrying the same message unchanged won't help.

Common causes

📨
#1

No DMARC record was ever published

Most common

Many domains have SPF and DKIM but never added the TXT record at _dmarc.

🔁
#2

The record has a syntax error

Common

A missing v=DMARC1 at the start, a wrong tag, or a smart quote copied from a document makes the record invalid.

⚙️
#3

The record is at the wrong name

Less common

Some DNS panels add the domain again, so the record ends up at _dmarc.example.com.example.com.

How to fix 550 5.7.40

  1. 1

    Publish a starting DMARC record

    Add a TXT record at _dmarc with: v=DMARC1; p=none; rua=mailto:you@yourdomain. p=none is enough to meet the rule while you collect reports.

  2. 2

    Check the record

    Run the free DMARC checker. It shows the record Gmail sees and any syntax problem.

  3. 3

    Move to enforcement later

    When reports show all your real mail passes, change p=none to p=quarantine and then p=reject.

Confirm your domain is set up correctly

Most delivery failures — permanent or temporary — trace back to authentication or reputation. Run a free EmailHealth check to confirm SPF, DKIM, DMARC, blacklist status, and TLS are all healthy for your sending domain. If you send in volume, free daily monitoring will alert you before a small issue becomes a flood of bounces.

Stop this error from coming back

Most delivery problems start when a DNS record changes, a key is removed or a domain lands on a blocklist. EmailHealth checks your sending domains every day and sends one alert, by email, Slack or webhook, with the exact fix.

1 domain free. Sending from many domains (cold email, agencies, MSPs)? Early access covers 10.

Frequently asked questions

Check your domain for free

SPF, DKIM, DMARC, MX, blocklists and TLS in about 2 seconds. No account needed.

Run the check