GMail fsockopen():SSL 操作失败错误与 Codeigniter 和 XAMPP

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 -> 未注释 我试过:openssl.cafile= C:\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem 我试过禁用防火墙 我试过另一个网络

Codeigniter PHP代码:

$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();

就我而言,Avast Antivirus 阻止了端口。我使用 SMTP 端口 465 从我的 CodeIgniter 项目发送电子邮件。它显示错误:

fsockopen() failed to enable crypto

只需禁用 Avast Antivirus 即可解决问题。

备选方案

但是如果您想保持 Avast 安全,您应该:

  • 打开 Avast

  • 点击设置(页面右上角)

  • 单击疑难解答

  • 单击重定向设置

  • 重定向设置MAIL部分

    [=49清除您使用的端口=]
  • 单击确定

  • 关闭 Avast

今天是 2021 年 4 月 5 日 我有同样的问题

xampp windows 和 apache/php 未发送电子邮件。

经过一些调试后,您最终发现无法访问远程端口 465 和 587。最后你发现禁用 Avast 问题就解决了。

这就是我对这个问题的看法。

但不幸的是,接受的解决方案在当前的 Avast 中看起来不再适用,所以...

2021 年 Avast 重定向设置在哪里?

不幸的是,目前的 Avast 似乎没有重定向设置

考虑到临时解决方案是禁用 Avast 保护(这可行,然后您将能够使用 PHPMailer 和其他邮件库发送电子邮件)并且考虑到:

  • 每次暂时禁用 Avast 10 minutes/1 小时是一个烦人且可能“危险”的解决方案
  • 现在永久禁用 Avast 或杀毒软件不是一个好主意

我更喜欢一个永久的和“更安全”的,事实上,如果防病毒软件有效..我不能从我的计算机发送恶意电子邮件

这是我应用的永久解决方案

  1. 打开 Avast 用户界面(右键单击 Avast 托盘图标)
  2. 转到“菜单”(右上角的汉堡菜单)
  3. 然后转到“设置”>“保护”(左侧面板中间的图标)
  4. 在出现的第二列中单击“主要保护”
  5. 现在在右侧面板中,向下滚动到“配置保护设置”
  6. 在“配置保护设置”下有 4 个选项卡
  7. 第 4 个选项卡是“电子邮件保护”
  8. 取消选中“扫描外发邮件 (SMTP)”