Helo command rejected: need fully-qualified hostname Error
That error message is appearing because the mail client is sending only a bare hostname ("PLLAMNAZIFE") rather than a fully-qualified hostname (e.g. "PLLAMNAZIFE.example.com") in the HELO
/EHLO
part of the SMTP transaction, and your Postfix server is configured to reject such mail.
Many mail client programs do not send correctly formatted, fully-qualified, valid hostnames in the HELO
/EHLO
. Since you have to accept such mail from paying customers and have little or no control over what mail client they use (and because HELO
checks aren't really of much use in blocking spam), it's probably best to disable the HELO
checks.
To disable HELO
checks, remove the following two lines from your Postfix config:
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
Even better, remove the entire smtpd_helo_restrictions = ...
rule and smtpd_helo_required = yes
.
You can bypass HELO restrictions for authenticated users by inserting permit_sasl_authenticated
before rejecting rules in the smtpd_helo_restrictions
list:
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
permit