PHPMailer错误2:stream_socket_enable_crypto:SSL:找不到指定的过程

问题描述

我在Wampserver基于PHP的系统上使用PHPMailer。

在我们切换到4G连接之前,电子邮件一直运行良好。

现在我收到此错误:

2020-10-01 05:39:25服务器->客户:220 2.0.0准备启动TLS

2020-10-01 05:39:25连接失败。错误2:stream_socket_enable_crypto():SSL:找不到指定的过程。 [C:\ Users_ \ phpMailer \ src \ SMTP.php第458行]

SMTP错误:无法连接到SMTP主机。

它指向SMTP.php文件中的以下部分:

public function startTLS()
{
    if (!$this->sendCommand('STARTTLS','STARTTLS',220)) {
        return false;
    }

    //Allow the best TLS version(s) we can
    $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT;

    //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT
    //so add them back in manually if we can
    if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) {
        $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;
        $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT;
    }
    // Begin encrypted connection
    set_error_handler([$this,'errorHandler']);
     $crypto_ok = stream_socket_enable_crypto(
        $this->smtp_conn,true,$crypto_method
    ); 
    restore_error_handler();

    return (bool) $crypto_ok;
}

我被迫将电子邮件端口移至此处计算机上的Outlook中的587,并进行TLS加密。

我真的需要这样做,因为它会向我的老板发送确认电子邮件,通知我系统中的所有订单。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)