Some of the external email server rejects email from our email servers with 450 error. HELO name not resolvable in public DNS. To fix the issue I have tried to change smtp_helo_name to match with mx, I have changed the smtpd_banner also. However, when I telnet to our server over port 25, banner is updated, but HELO still shows old hostname(internal name of server). Is there any option to fix the issue.
postconf -n shows the updated smtp_helo_name, but telnet still shows the internal name.
I haven't tried changing myhostname parameter, as there seems other configuration parameters dependent on it I believe. More over we have a passive mail server which always syncs configuration and mailboxes with this active server(set up using keepalived).
If I change myhostname, to external DNS name, could you please let me know the other parameters that needs modification, like mydestination
I doubt the reason for the rejections by external mail servers is your helo name - this is not normally checked.
In general it's not worth worrying about temporary rejections (4xx code), only about permanent ones (5xx code). A temporary rejection could be caused by greylisting, or the external mail server might have some temporary problem of its own.
If your server has dynamic ip this is a (fatal) reason for rejection by many servers. Another could be that your ip or rDNS has been blacklisted. But in both cases I would expect to see a 5xx permanent rejection.
I don't know if it is possible to set a non-standard 2nd smtpd response (after incoming 'helo') which seems to be '250 $myhostname', there is no smtpd_helo_name parameter to control this, but I don't think it relates to your problem.
If you want to change myhostname parameter, look at http://www.postfix.org/postconf.5.html to check what else might change. Usually it's best to have myhostname the same as your rDNS (public reverse DNS name of your ip) - given for instance by dig +short -x [external_ip]. I set it explicitly in main.cf, and don't mess with smtpd_banner nor with smtp_helo_name.