Jump to content

Recommended Posts

Posted (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 by taxmama
  • 4 months later...
Posted

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.

 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...