Permanent failure — do not retry
SMTP 504
command parameter not implemented
SMTP 504 means the server understood the command but does not support one of its parameters. RFC 5321 defines it as "command parameter not implemented". The everyday version is a HELO hostname the server refuses, or an AUTH mechanism it does not offer.
How it appears
504 Command parameter not implemented
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname
504 5.7.4 Unrecognized authentication type
What causes it
- Your server introduced itself with a hostname that is not fully qualified, such as "localhost" or a bare machine name.
- The client asked for an authentication mechanism the server does not support.
- The client sent an extension parameter that the server did not advertise.
How to fix it
In order — try the first one first.
- Set your mail server's HELO or EHLO name to a fully qualified domain that resolves, ideally matching the PTR record of the sending IP.
- Pick an AUTH mechanism from the list the server returns in its EHLO response.
- Nothing about the recipient is implied, so do not remove addresses because of a 504.
Common questions
- What does SMTP 504 mean?
- SMTP 504 means the server understood the command but does not support one of its parameters. RFC 5321 defines it as "command parameter not implemented". The everyday version is a HELO hostname the server refuses, or an AUTH mechanism it does not offer.
- Should I retry a 504 error?
- No. 504 is a permanent failure, so the message will never be delivered no matter how many times you try. Remove the address — repeated sends to permanent failures are one of the main signals mailbox providers use to throttle a sender.
- How do I fix SMTP 504?
- Set your mail server's HELO or EHLO name to a fully qualified domain that resolves, ideally matching the PTR record of the sending IP.
Last reviewed 2026-09-11