taxmama Posted May 20 Posted May 20 (edited) 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 by taxmama SeNioR- and autumnwalker 1 1
autumnwalker Posted September 30 Posted September 30 Also having the same issue running on 4.7.18. SeNioR- 1
Marc Posted October 1 Posted October 1 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. autumnwalker 1
Recommended Posts