What 550 5.7.350 means
5.7.350 isn't a standard RFC code. Microsoft 365 generates it when a server outside Microsoft rejected the message, and Exchange Online reports that rejection back to you. The wording is usually 'Remote server returned message detected as spam'.
Microsoft's generic sibling is 5.0.350, a catch-all for nonspecific errors returned by the recipient's organization. In both cases the useful part is the remote server's original response, which often appears after an arrow ('->') in the NDR. Look up that inner code.
What the bounce looks like
The wording providers document for this code. Your bounce may add an IP address, a session ID or a help link after it.
550 5.7.350 Remote server returned message detected as spam Why cold emailers see 550 5.7.350
- The recipient's spam filter or security gateway (Proofpoint, Mimecast, Barracuda, Gmail) rejected the message as spam.
- Low domain reputation or a blocklisted Microsoft 365 outbound IP.
- The recipient forwards mail from Microsoft 365 to another provider, and that provider rejected it.
- Missing or failing SPF, DKIM or DMARC on your domain.
How to fix 550 5.7.350
- Find the inner response in the NDR and look up that code; it says why the remote server refused.
- Check SPF, DKIM and DMARC for your sending domain, including DKIM signing enabled in Microsoft 365.
- Review the message for spam signals: links, attachments, image-heavy HTML, aggressive wording.
- If it happens only with one recipient domain, it's that organization's filter; contact the recipient another way.
Retry or suppress?
Don't suppress automatically. Decide based on the remote server's inner response: an address error means suppress; a spam or reputation block means fix your sending first.
Reading the code
The basic code 550 means "Mailbox unavailable or message refused (permanent)" under RFC 5321. In 5.7.350, the 5 is the class (permanent failure) and the 7 is the subject (security or policy). The detail number 350 isn't in the RFC 3463 / IANA registry; it's specific to the provider, so the text after the code carries the meaning.
- Class 5
- Permanent failure
- Resending the same message won't work. Something about the message, the recipient or the sender has to change first.
- Subject 7
- Security or policy
- A security or policy decision: spam filtering, authentication, blocklists, permissions.
- Detail 5.7.350
- Provider-specific
Check the rest of your setup
Paste the headers of a message that did get through into the email header analyzer to confirm SPF, DKIM and DMARC pass, and check your domain with the SPF, DKIM & DMARC checker. The deliverability checklist covers the rest of a healthy sending setup.
Got a different bounce? Paste it into the SMTP error code lookup to decode it.