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.
Common causes
No DMARC record was ever published
Most commonMany domains have SPF and DKIM but never added the TXT record at _dmarc.
The record has a syntax error
CommonA missing v=DMARC1 at the start, a wrong tag, or a smart quote copied from a document makes the record invalid.
The record is at the wrong name
Less commonSome 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
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
Check the record
Run the free DMARC checker. It shows the record Gmail sees and any syntax problem.
- 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.