Gmail smtp在phpmailer中不工作
这是我的密码Gmail smtp在phpmailer中不工作,php,phpmailer,Php,Phpmailer,这是我的密码 require_once("PHPMailer/class.PHPMailer.php"); $mail = new PHPMailer(); /* receiver details and message - start */ $toid = "example@gmail.com"; $toname = "Example"; $msg = "First name : ".$_POST["fname"] . "<br>"; $msg .= "Last name : "
require_once("PHPMailer/class.PHPMailer.php");
$mail = new PHPMailer();
/* receiver details and message - start */
$toid = "example@gmail.com";
$toname = "Example";
$msg = "First name : ".$_POST["fname"] . "<br>";
$msg .= "Last name : ".$_POST["lname"]. "<br>";;
$msg .= "Email : ".$_POST["email"]. "<br>";;
$msg .= "Mobile : ".$_POST["mobile"]. "<br>";;
$msg .= "Message : ".$_POST["msg"];
$subject = "sample subject";
/* receiver details and message - end */
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPKeepAlive = true;
/* mail smtp configuration - start */
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = 'test@gmail.com';
$mail->Password = 'xxxxxx';
/* mail smtp configuration - end */
$mail->From = "test@gmail.com";
$mail->FromName = "from name";
$mail->AddAddress($toid, $toname);
$mail->Subject = $subject;
$mail->Body = $msg;
$mail->IsHTML(true);
if($mail->Send()){
echo "success";
}else{
echo "Failure";
}
require_一次(“PHPMailer/class.PHPMailer.php”);
$mail=new PHPMailer();
/*接收器详细信息和消息-开始*/
$toid=”example@gmail.com";
$toname=“示例”;
$msg=“名字:”.$\u POST[“fname”]。“
”;
$msg.=“姓氏:”.$\u POST[“lname”]。“
”;;
$msg.=“电子邮件:”.$\u POST[“电子邮件”]。“
”;;
$msg.=“手机:”.$\u POST[“手机”]。“
”;;
$msg.=“消息:”..$\u POST[“msg”];
$subject=“示例主题”;
/*接收器详细信息和消息-结束*/
$mail->IsSMTP();//启用SMTP
$mail->SMTPDebug=1;//调试:1=错误和消息,2=仅消息
$mail->SMTPAuth=true;//启用身份验证
$mail->SMTPKeepAlive=true;
/*邮件smtp配置-启动*/
$mail->SMTPSecure='tls';//GMail需要启用安全传输
$mail->Host='smtp.gmail.com';
$mail->Port=587;
$mail->Username=test@gmail.com';
$mail->Password='xxxxxx';
/*邮件smtp配置-结束*/
$mail->From=”test@gmail.com";
$mail->FromName=“FromName”;
$mail->AddAddress($toid,$toname);
$mail->Subject=$Subject;
$mail->Body=$msg;
$mail->IsHTML(true);
如果($mail->Send()){
呼应“成功”;
}否则{
呼应“失败”;
}
当运行上述命令时,它抛出
流\u套接字\u启用\u加密():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:ssl3_get_server_证书:证书验证在第200行的C:\xampp\htdocs\mail\PHPMailer\class.smtp.php中失败
这与您的代码无关-您的OpenSSL CA证书存储不包含CA证书和/或您的系统运行在伪装gmail服务的环境中,和/或您的时钟非常错误和/或您使用的是非常旧的OpenSSL版本。你没有告诉我们关于这个平台的任何信息,所以我们无法建议如何修复它
顺便说一句,您还需要在谷歌端启用“不安全”连接-我认为PHPmailer不支持oauth over SMTP。对于GMail,请将设置更改为:
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
我不是PHP爱好者,但在C#中,我在尝试通过gmail发送电子邮件时遇到了类似的问题。在我的请求中设置SSL=true后解决。上周出现了一系列类似的问题-我怀疑gmail更改了许多PHP安装中缺少的根证书,因此请尝试更新CA证书,如疑难解答指南和PHP文档所述。这不是问题,但您使用的是非常旧的PHPMailer版本,所以请获取最新版本。我使用最新版本检查时也会抛出相同的错误@synchronous,这就是为什么我说“这不是问题”。修复您的证书,按照指南中的说明操作。PHPMailer支持SMTP XOAUTH2已有几年了。看,但这与验证Gmail的证书无关,这发生在任何身份验证之前很久。我在谷歌端启用了“不安全”连接。。。bt尚未编写。@Renu:您的客户端必须先连接,然后才能进行身份验证。@symcbean:我没有得到它..?它会引发相同的错误,SMTP->错误:无法连接到服务器:(0)SMTP错误:无法连接到SMTP主机。失败。另外,不要发布无法解释的代码作为答案,说出为什么你认为它能解决问题,尽管在这种情况下它不能。