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