警告:stream_socket_enable_crypto():此流不支持第 197 行 C:\xampp\htdocs\12work\class.smtp.php 中的 SSL/加密

Posted

技术标签:

【中文标题】警告:stream_socket_enable_crypto():此流不支持第 197 行 C:\\xampp\\htdocs\\12work\\class.smtp.php 中的 SSL/加密【英文标题】:Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto in C:\xampp\htdocs\12work\class.smtp.php on line 197警告:stream_socket_enable_crypto():此流不支持第 197 行 C:\xampp\htdocs\12work\class.smtp.php 中的 SSL/加密 【发布时间】:2013-02-05 08:55:49 【问题描述】:

我正在使用 XAMPP,尝试通过 localhost 发送电子邮件时收到以下警告:

警告: stream_socket_enable_crypto():此流不支持在线C:\xampp\htdocs\12work\class.smtp.php中的SSL/加密 197

这是我的代码:

$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP

$mail->Host = "smtp.gmail.com"; // specify main and backup server

$mail->SMTPAuth = true;
$mail->Port = 25;

$mail->SMTPSecure = "tls";

$mail->SMTPAuth = true; // turn on SMTP authentication

$mail->Username = "sheikh.abm@gmail.com"; // SMTP username

$mail->Password = "mypassword"; // SMTP password

$mail->From = "sheikh.abm@gmail.com"; //do NOT fake header.

$mail->FromName = "MailMan";

$mail->AddAddress("sheikh.abm@gmail.com"); // Email on which you want to send mail

$mail->Ishtml(true);

$mail->Subject = "Just a Test";

$mail->Body = "Hello. I am testing <b>PHP Mailer.</b>";

if(!$mail->Send())



echo $mail->ErrorInfo;

else

echo "email was sent";


【问题讨论】:

当我在 Centos 上将我们的 Php 从 5.3.1 升级到 5.5 时,这个问题就消失了 【参考方案1】:

好的,我们需要启用 Open SSL 模块。操作方法如下:

    找到并打开您的 php.ini 文件 搜索线路:;extension=php_openssl.dll 通过删除 ; 字符启用模块。 保存文件并重新启动 Apache。

提示: 如果您对php.ini文件不熟悉,建议修改前创建备份。 Ini 是一个配置文件,错误配置或损坏的 ini 会导致该 Web 服务器无法启动。

如果您使用 LAMP 堆栈(例如 wamp),应该可以通过图形界面启用模块。

更多关于php.inihttps://secure.php.net/manual/en/configuration.file.php

【讨论】:

如果我删除;它给了我这个错误 SMTP 错误:无法验证。 'php_openssl.dll' 部分帮我完成了 我试过了,但现在我得到了PHP Startup: openssl: Unable to initialize module【参考方案2】:

在我的本地系统中,avast mail shield 打开了,一旦我禁用它,我就不允许通过 smtp gmail 发送任何邮件,邮件是通过 smtp 在本地系统中发送的

【讨论】:

嘘!你拯救了我的一天。【参考方案3】:

只是一个简短的说明, 你用$mail-&gt;Port = 25;

 $mail->SMTPSecure = "tls";

gmail /tls 的端口应该是 587 见https://support.google.com/mail/answer/78775?hl=el

【讨论】:

【参考方案4】:

在我的本地系统中,我的计算机上有 avast 防病毒软件,一旦我禁用它,我就不允许通过 SMTP Gmail 发送任何邮件,这些电子邮件是通过 SMTP 在本地系统中发送的

【讨论】:

【参考方案5】:

我解决了这个

关闭 selinux

 #setenforce 0

【讨论】:

以上是关于警告:stream_socket_enable_crypto():此流不支持第 197 行 C:\xampp\htdocs\12work\class.smtp.php 中的 SSL/加密的主要内容,如果未能解决你的问题,请参考以下文章

怎么忽略KEIL的警告

IOS警告消除

Quick.db unwarn 命令取消警告成员中的所有警告

java程序中很多警告,如何修改掉?

将特定级别的所有警告视为错误,而不是下一级的警告

keil警告怎么办?