Invision Community 4: SEO, prepare for v5 and dormant account notifications Matt November 11, 2024Nov 11
Posted May 20, 2024May 20 Hi, When using an external SMTP server, Invision sends the domain name of the SMTP SERVER in the HELO/EHLO commands, instead of the CLIENT (i.e. the server Invision is running on). This is incorrect and violates the SMTP standard (RFC 2821), which says: Quote 4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO) These commands are used to identify the SMTP client to the SMTP server. The argument field contains the fully-qualified domain name of the SMTP client if one is available. This information -- the domain name of the server Invision is running on -- is readily available, for example, from the license key URL. Here's the incorrect code in Smtp.php, with HELO/EHLO being sent with the SMTP server's name ($this->smtpHost) Quote /* HELO/EHLO */ try { $helo = 'EHLO'; $responseCode = $this->_sendCommand( 'EHLO ' . $this->smtpHost, 250 ); ... /* Exchange server (at least) wants EHLO resending for STARTTLS */ $this->_sendCommand( $helo . ' ' . $this->smtpHost, 250 ); This is causing mail servers to reject outbound mail (error 550). Please fix this asap. Happy to provide more logs/information if needed. Edited May 20, 2024May 20 by taxmama
October 1, 2024Oct 1 Community Expert Thank you for bringing this issue to our attention! I can confirm this should be further reviewed and I have logged an internal bug report for our development team to investigate and address as necessary, in a future maintenance release.