HELO is not really used that much anymore. It's EHLO now. And response to it includes capabilities of the server. So it serves negotiation of those at the beginning of the session, too.
It's better to be prompted for those, instead of just sending them unannounced, in case client just want to switch to TLS first via starttls.
It's better to be prompted for those, instead of just sending them unannounced, in case client just want to switch to TLS first via starttls.