Search code examples
phpcodeignitersslxamppgmail

GMail fsockopen(): SSL operation failed error with Codeigniter and XAMPP


Error message 1: Message: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

Filename: libraries/Email.php

Line Number: 1962

Error message 2: Message: fsockopen(): Failed to enable crypto Error message 3: Message: fsockopen(): unable to connect to >ssl://smtp.gmail.com:465 (Unknown error)

php.ini: extension=php_openssl.dll -> uncommented I have tried with: openssl.cafile= C:\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem I have tried with disabled firewall I have tried with another network

Codeigniter PHP Code:

$config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'ssl://smtp.gmail.com',
        'smtp_port' => 465,
        'smtp_user' => 'asd@gmail.com',
        'smtp_pass' => 'asd',
        'mailtype'  => 'html',
        'charset'   => 'utf-8'
    );

    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");

    $this->email->from('1@gmail.com', 'asd');
    $this->email->to($recipient);

    $this->email->subject($a);
    $this->email->message($b);

    $this->email->send();

Solution

  • In my case, the Avast Antivirus was blocking the port. I was using the SMTP port 465 for sending an email from my CodeIgniter project. It showed an error:

    fsockopen() failed to enable crypto

    Simply disabling the Avast Antivirus solved the problem.

    Alternative Solution

    But if you want to keep your Avast security on, you should:

    • Open Avast

    • Click on Settings (upper right corner of page)

    • Click on Troubleshooting

    • Click on Redirect Settings

    • Clear the port you used from Redirect Settings's MAIL section

    • Click OK

    • Close Avast