5.6.0 bounce: other or undefined media error
5.6.0Other or undefined media errorPermanent: retrying will not help
554 5.6.0 Message rejected: invalid content
What it means
The X.6 subject in RFC 3463 covers “message content or media status”: something about the message body, its MIME structure or its headers got in the way. Detail 0 is the unspecified member of that family, used when a server dislikes the content but has no narrower code for it.
Real-world 5.6.0 replies often concern malformed messages: duplicate or broken headers, MIME boundaries that never close, or line lengths far beyond the 998-character limit of RFC 5322. Some gateways also use 5.6.0 for attachment policies, although those more often carry 5.7.x.
A 4.6.0 reply means the receiver had a temporary problem processing the content, for example a content scanner timing out. Your server will queue and retry that one. The permanent 5.6.0 needs a change to the message or its generator.
Likely causes
- An application that builds MIME by hand and produces unterminated multipart boundaries or wrong Content-Type headers.
- Header lines that exceed 998 characters or contain raw 8-bit bytes without an encoding.
- Duplicate single-instance headers such as two From, Date or Subject lines.
- An attachment type or archive the recipient’s content filter could not open and chose to refuse.
How to fix it
- Open the bounced message source and look at the headers and MIME structure, not just the visible body.
- Run the headers through a header analyzer and correct duplicate or overlong fields at the point where the message is generated.
- Let a mail library such as Python’s email package or Nodemailer build the MIME tree instead of string templates, and encode non-ASCII text with base64 or quoted-printable.
- If an attachment is involved, send a version without it; if that delivers, share the file through a link instead.
- Still stuck? Ask the recipient’s admin which content rule fired. Only their filter log knows.
Checks that apply
- Email Header Analyzer Parses the header block of a sample message so you can spot duplicate, malformed or overlong fields before you resend.
- MailFlow Monitor Sends a test message through a monitored path and confirms that a corrected template now arrives intact.
FAQ
- Is a 5.6.0 a spam rejection?
- Not usually. It points at the format of the message. Spam and reputation refusals almost always use 5.7.x codes instead.
- Why do some recipients accept the same message?
- Parsers differ in strictness. One server tolerates a broken boundary while another refuses it, so the fix is to make the message valid rather than to rely on lenient receivers.