taxmama Posted May 20 Share 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 autumnwalker and SeNioR- 1 1 Link to comment Share on other sites More sharing options...
autumnwalker Posted Monday at 05:14 PM Share Posted Monday at 05:14 PM Also having the same issue running on 4.7.18. SeNioR- 1 Link to comment Share on other sites More sharing options...
Marc Posted Tuesday at 07:31 AM Share Posted Tuesday at 07:31 AM 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 Link to comment Share on other sites More sharing options...
Recommended Posts