Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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' => '[email protected]',
        'smtp_pass' => 'asd',
        'mailtype'  => 'html',
        'charset'   => 'utf-8'
    );

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

    $this->email->from('[email protected]', 'asd');
    $this->email->to($recipient);

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

    $this->email->send();
like image 765
V. Mark Avatar asked Nov 29 '22 06:11

V. Mark


2 Answers

Today is April the 5th 2021 I have the same problem

xampp in windows and apache/php not sending emails.

After some debug you end up discovering that remote port 465 and 587 are not reachable. Finally you discover that disabling Avast the problem is solved.

That is how I have landed on this question.

But unfortunately the accepted solution looks not good anymore with current Avast so...

Where are Avast Redirect Settings in 2021?

Unfortunately looks like current Avast doesn't have anymore the Redirect Settings

Given that the temporary solution is to disable Avast protection (this works, you'll be able to send emails with PHPMailer and others mail libraries then) and given that:

  • temporarily disable Avast for 10 minutes/1 hour every time is an annoying and potentially "dangerous" solution
  • permanently disable Avast or the antivirus nowadays is not a good idea

I preferred a permanent and "more secure" one, in fact, if the antivirus works .. I can't have malicious emails sending from my computer

This is the permanent solution I have applied

  1. Open Avast User Interface (right click on the Avast tray icon)
  2. goto "Menu" (top right hamburger menu)
  3. then goto Settings>Protection (middle icon on the left panel)
  4. in the second column that appears click on "Main Protections"
  5. now in the right panel, scroll down to "Configure protection settings"
  6. under "Configure protection settings" there are 4 tabs
  7. the 4th tab is "e-mail protection"
  8. uncheck the "scan outgoing messages (SMTP)"

that is

like image 35
Robert Avatar answered Nov 30 '22 19:11

Robert


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

like image 141
SouravOrii Avatar answered Nov 30 '22 19:11

SouravOrii