Today I am beating myself up over HELO/EHLO. I've always understood that the syntax of a HELO/EHLO should be:
HELO host.domain.tld - that is a FQHN. However, looking at RFC's (821/2821/1123 section 5.2.5) I'm struggling to get absolution on it, and fear I may have understood wrong. 2821 says Syntax: ehlo = "EHLO" SP Domain CRLF helo = "HELO" SP Domain CRLF And that would appear to suggest just a FQDN is needed. 821 says: HELLO (HELO) ...The argument field contains the host name of the sender-SMTP But 2821 obsoletes 821... RFC 1123 Says: "The sender-SMTP MUST ensure that the <domain> parameter in a HELO command is a valid principal host domain name for the client host. 'valid principal host domain name' is that a host name, a domain name, a host and domain name, a FQDN, a FQHN? Now, I know that the RFC's also say words to the effect of "You can check the HELO/EHLO argument, but must not reject based upon it" but I note another well known MTA offers this mechanism: "Helo command rejected: need fully-qualified hostname" So whilst it should not matter, clearly it can. It crosses my mind that not every client in the world using SMTP is going to be able to provide a FQDN or a FQHN. End user clients using SMTP to send mail from dynamic address space, and even this kind of thing: Received: from apache by example.null with local (Exim 4.76) I'd just like to be able to put it to bed in my mind in terms of 'best practice'. Apologies for the banality of the question, and the OT nature. -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
