警告: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

提问人:Arslan Bilal 提问时间:2/20/2013 最后编辑:Paulo BoaventuraArslan Bilal 更新时间:8/20/2023 访问量:49282

问:

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

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

这是我的代码:

$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 = "[email protected]"; // SMTP username

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

$mail->From = "[email protected]"; //do NOT fake header.

$mail->FromName = "MailMan";

$mail->AddAddress("[email protected]"); // 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";

}
php laravel 电子邮件 gmail smtp-auth

评论

0赞 zzapper 1/28/2017
当我在 Centos 上将 Php 从 5.3.1 升级到 5.5 时,这种情况就消失了

答:

51赞 sybear 2/20/2013 #1

好了,我们需要启用Open SSL模块。这是如何做到的:

  1. 找到并打开您的文件php.ini
  2. 搜索该行:;extension=php_openssl.dll
  3. 通过删除 ; char 来启用该模块。
  4. 保存文件并重新启动 Apache。

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

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

更多信息 : https://secure.php.net/manual/en/configuration.file.phpphp.ini

评论

0赞 Arslan Bilal 2/20/2013
如果我删除 ;它给了我这个错误SMTP错误:无法进行身份验证。
0赞 divillysausages 3/25/2014
“php_openssl.dll”部分为我做到了
1赞 Black 9/24/2020
我试过了,但现在我明白了PHP Startup: openssl: Unable to initialize module
2赞 Konstantinos Chertouras 1/10/2014 #2

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

 $mail->SMTPSecure = "tls";

gmail /tls
的端口应为 587 请参阅 https://support.google.com/mail/answer/78775?hl=el

-2赞 user3867473 7/23/2014 #3

我解决了这个问题

Hust close selinux

 #setenforce 0
3赞 vikas etagi 3/17/2020 #4

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

1赞 NIMO SAMUEL 7/27/2020 #5

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