Email Knowledge Bounce codes

5.7.1 — Message rejected by policy

The enhanced status code 5.7.1 is one of the most common “hard bounces” for senders. It means the receiving system refused the message for a policy reason — not because the address is invalid, but because the receiver decided it should not accept the mail under current rules.

Typical shape

550 5.7.1 or 554 5.7.1 with wording like “policy”, “blocked”, “spam”, “not permitted”.

Key idea

Transport is fine — the receiver is making a trust decision based on identity, reputation, content, or rate.

What 5.7.1 means

5.7.1 signals a permanent failure related to authorization or policy. The receiver is telling you: “We will not accept this message as sent.” The important detail is often not the number itself, but the diagnostic text that comes with it.

Some providers use 5.7.1 broadly for many different policy reasons. That’s why reading the wording around the code matters more here than with, say, 5.1.1 (user unknown).

Common causes

Policy rejections are usually triggered by one (or several) of these patterns:

Authentication and identity issues

The receiver may not be able to confirm that your infrastructure is allowed to send for the domain you claim in From:. Failures or misalignment in SPF/DKIM/DMARC are frequent culprits, especially when the bounce text explicitly mentions them.

Reputation and block decisions

Even with correct authentication, providers can reject mail based on the reputation of the sending IP, sending domain, or the combination of both. This may be influenced by past complaint rates, poor list quality, sudden volume spikes, or listings on public/private blocklists.

Content and malware rules

Some 5.7.1 bounces are content-driven: suspicious links, attachment types, macros, or patterns that resemble phishing. Providers often describe this in the diagnostic line.

Rate limiting presented as a “hard” rejection

Ideally, throttling is temporary (often 4.7.x), but some systems still reject with 5.7.1 when they want the sender to back off or when repeated deferrals failed.

The exact wording in Diagnostic-Code is the shortest path to the real cause. If you can capture it, you usually know which branch to investigate first.

What it looks like in a bounce

Providers vary, but the useful lines tend to look like this:

Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 Message rejected under local policy
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 554 5.7.1 Access denied, sending domain not permitted
Action: failed
Status: 5.7.1
Diagnostic-Code: smtp; 550 5.7.1 SPF/DKIM authentication failed

Next steps (practical)

If you are the sender

Start with the diagnostic line and then check identity, consistency, and volume. The fastest “first pass” often looks like:

If you administer the receiving system

A 5.7.1 is frequently generated intentionally by policy rules. Useful checks include:

If you are the recipient

If a sender tells you they get “5.7.1” when writing to you, the most helpful detail is the full bounce text (especially the diagnostic line). In many cases it’s a spam/policy filter decision, not something the sender can guess without those lines.

Related codes

Many providers use neighboring codes for similar situations. If you see these, the interpretation is often in the same family: 5.7.0 (general policy), 5.7.2 (sender blocked/content policy), and temporary deferrals like 4.7.1. You can look them up on the main list: /bouncecodes/.

Want the background on why authentication matters? See the main page: email-knowledge.com.