14

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

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

这是我的代码:

$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";

}
4

5 回答 5

49

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

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

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

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

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

于 2013-02-20T11:26:30.480 回答
3

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

于 2020-03-16T16:12:00.503 回答
2

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

 $mail->SMTPSecure = "tls";

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

于 2014-01-09T21:00:39.730 回答
0

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

于 2020-07-27T13:23:15.743 回答
-2

我解决了这个

Hust 关闭 selinux

 #setenforce 0
于 2014-07-23T06:45:13.687 回答