I had this issue too, this is how i fixed it. Though it is not advisable to change vendor files but this fix worked and it enable me to send mail from my localhost.

  1. Locate StreamBuffer in your vendor folder. It should be in this location

C:\xampp\htdocs\mylaravel\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport

  1. Open the file StreamBuffer.php
  2. Find this method _establishSocketConnection
  3. Add this as shown below

$options[‘ssl’][‘verify_peer’] = FALSE;

$options[‘ssl’][‘verify_peer_name’] = FALSE;

    private function _establishSocketConnection(){
       ....

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

       $streamContext = stream_context_create($options);
       $this->_stream = @stream_socket_client($host.':'.$this->_params['port'], 
$errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext);

    .... }

It’s like the ssl keeps preventing the mail from been sent. I hope this helps


Warning: A non-numeric value encountered in /home/virlif/public_html/wp-content/themes/Newspaper/includes/wp_booster/td_block.php on line 353