Details
Description
Zend_Mail_Protocol_Imap->connect() throws an exception this way is fsockopen fails:
$this->_socket = @fsockopen($host, $port, $errno, $errstr, self::TIMEOUT_CONNECTION); if (!$this->_socket) { /** * @see Zend_Mail_Protocol_Exception */ require_once 'Zend/Mail/Protocol/Exception.php'; throw new Zend_Mail_Protocol_Exception('cannot connect to host : ' . $errno . ' : ' . $errstr); }
So for example, in case of a timeout, the exception has the following message:
cannot connect to host : 110 : Connection timed out
When I got this trying to connect to an IMAP server, I figured the Zend-based software was trying to connect via POP3, which uses port 110, and that for some reason the error missed the hostname but only showed the port. I realized in the end that 110 wasn't a port but an errno. It is not entirely wrong though to expect a hostname after "host :". I would suggest this form instead:
'Cannot connect to host. connect(): error ' . $errno . ' (' . $errstr . ')'
Thank you for report and sorry for patience, Filipus.
Solved in svn r18730 (trunk), r18731 (1.9branch).