SMTP 500: syntax error, command unrecognized
The receiving server didn't recognize a command it was sent, or the command line was too long. This is a protocol problem, not a spam or reputation decision.
What 500 means
RFC 5321 defines 500 as "Syntax error, command unrecognized" and adds that this may include errors such as a command line that is too long. It is a permanent reply about the conversation itself: the server could not parse what the client said.
You rarely see a 500 in a normal bounce, because established mail servers speak SMTP correctly. It shows up when something is sending commands the server doesn't expect: a misconfigured application or device sending mail, a script that writes SMTP by hand, a client connecting to the wrong port, or a network device that alters the SMTP conversation in transit. RFC 5321's section on size limits gives "500 Line too long." as an example reply, and RFC 4954 defines 500 5.5.6 for an authentication line longer than the server's buffer.
Look at the command that drew the 500. Most mail servers and applications can log the SMTP conversation; the line just before the error is the one to fix.
Likely causes
- An application or device sends a command the server doesn't support or misspells it.
- A command line is longer than the server allows.
- The client is talking to the wrong port or expects a different protocol, such as implicit TLS.
- A network device in the path changes the SMTP commands.
How to fix it
If you sent the message
- Turn on SMTP logging in the sending application and find the command that got the 500.
- Check the server name, port and encryption settings against your provider's instructions.
- Update the sending software if it builds SMTP commands itself.
If you're the recipient or their admin
- If many senders report 500 errors, check for a proxy or firewall feature that inspects and rewrites SMTP traffic.
Frequently asked questions
Is SMTP 500 a spam block?
No. A 500 means the server couldn't parse a command. Spam and policy decisions use other codes, usually 550 or 554 with a 5.7.x enhanced code.
How do I find which command caused the 500?
Enable protocol or SMTP logging in the sending application or server and send a test message. The log shows each command and reply; the command just before the 500 is the one the server rejected.
Sources
- RFC 5321: Simple Mail Transfer Protocol (reply codes, section 4.2)
- RFC 5321, section 4.5.3.1: Size limits and minimums
- RFC 4954: SMTP Service Extension for Authentication
Provider messages are quoted as the provider publishes them. Servers can change their wording, so the bounce you received may differ slightly.
Related codes
Related guides
How to read email headers
Read email headers step by step: the Received chain from the bottom up, Authentication-Results, ARC, Return-Path, Message-ID and Microsoft 365 anti-spam fields.
10 min read Email security basicsIs my email encrypted in transit? STARTTLS, MTA-STS and DANE explained
What STARTTLS does for email, why opportunistic TLS can be downgraded, how MTA-STS and DANE enforce it, what Gmail's lock icons mean, and where TLS stops.
9 min read Email security basicsWhat is an MX record?
What an MX record is, how priority values pick the server that gets your mail, why backup MX can bypass a spam filter, and how to check your own records.
8 min read