how to fix stream_socket_enable_crypto(): SSL operation failed with code 1 how to fix stream_socket_enable_crypto(): SSL operation failed with code 1 php php

how to fix stream_socket_enable_crypto(): SSL operation failed with code 1


Editor's note: disabling SSL verification has security implications. Without verification of the authenticity of SSL/HTTPS connections, a malicious attacker can impersonate a trusted endpoint such as Gmail, and you'll be vulnerable to a Man-in-the-Middle Attack.

Be sure you fully understand the security issues before using this as a solution.

You can add below code in /config/mail.php ( tested and worked on laravel 5.1, 5.2, 5.4 )

'stream' => [   'ssl' => [      'allow_self_signed' => true,      'verify_peer' => false,      'verify_peer_name' => false,   ],],


Editor's note: disabling SSL verification has security implications. Without verification of the authenticity of SSL/HTTPS connections, a malicious attacker can impersonate a trusted endpoint such as Gmail, and you'll be vulnerable to a Man-in-the-Middle Attack.

Be sure you fully understand the security issues before using this as a solution.

I have also this error in laravel 4.2 I solved like this way. Find out StreamBuffer.php. For me I use xampp and my project name is itis_db for this my path is like this. So try to find according to your one

C:\xampp\htdocs\itis_db\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php

and find out this function inside StreamBuffer.php

private function _establishSocketConnection()

and paste this two lines inside of this function

$options['ssl']['verify_peer'] = FALSE;$options['ssl']['verify_peer_name'] = FALSE;

and reload your browser and try to run your project again. For me I put on like this:

private function _establishSocketConnection(){    $host = $this->_params['host'];    if (!empty($this->_params['protocol'])) {        $host = $this->_params['protocol'].'://'.$host;    }    $timeout = 15;    if (!empty($this->_params['timeout'])) {        $timeout = $this->_params['timeout'];    }    $options = array();    if (!empty($this->_params['sourceIp'])) {        $options['socket']['bindto'] = $this->_params['sourceIp'].':0';    }       $options['ssl']['verify_peer'] = FALSE;    $options['ssl']['verify_peer_name'] = FALSE;    $this->_stream = @stream_socket_client($host.':'.$this->_params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, stream_context_create($options));    if (false === $this->_stream) {        throw new Swift_TransportException(            'Connection could not be established with host '.$this->_params['host'].            ' ['.$errstr.' #'.$errno.']'            );    }    if (!empty($this->_params['blocking'])) {        stream_set_blocking($this->_stream, 1);    } else {        stream_set_blocking($this->_stream, 0);    }    stream_set_timeout($this->_stream, $timeout);    $this->_in = &$this->_stream;    $this->_out = &$this->_stream;}

Hope you will solve this problem.....


Try changing the app/config/email.php

smtp to mail