谷歌gmail发送邮件失败: SMTP connect() failed.


公司的项目使用谷歌邮箱,用户注册成功后,会发送一封邮件到用户注册的邮箱。但是我注册一个号却并没有收到邮件,于是我在代码里var_dump打印结果,发现有错误提示:SMTP connect() failed.

查阅大量资料,发现很多人都遇到过这个问题,最后终于找到解决方法。

解决方法:

在发送邮件代码里面增加一行:

$mail->SMTPSecure = 'ssl';

或者:

$mail->SMTPOptions = array('ssl' => array(

'verify_peer' => false,

'verify_peer_name' => false,

'allow_self_signed' => true

));

将上面代码放进去。

 

下面是谷歌邮件全部代码

<?php 

include_once "class.phpmailer.php";

include_once "class.smtp.php";

//获取一个外部文件的内容 

$mail=new PHPMailer();

$body="测试内容";

//设置smtp参数

$mail->IsSMTP();

$mail->SMTPAuth=true;

$mail->SMTPKeepAlive=true;

$mail->SMTPSecure= "ssl";

$mail->Host="smtp.gmail.com";

$mail->Port=465;

//填写你的email账号和密码

$mail->Username="发件人谷歌邮箱账号@gmail.com";

//这里大家需要填写谷歌邮箱的登录密码,qq和网易是授权码,谷歌不一样直接是登录密码

$mail->Password="发件人邮箱密码";

//设置邮件头from字段

$mail->From="发件人谷歌邮箱账号@gmail.com";

//设置发件人名字

$mail->FromName="test";

$mail->Subject="邮件标题";

//邮件内容

$mail->AltBody=$body;

$mail->WordWrap=50; // set word wrap

$mail->MsgHTML($body);

//设置回复地址

$mail->AddReplyTo("发件人谷歌邮箱地址","test");

//添加附件,此处附件与脚本位于相同目录下否则填写完整路径

//附件的话我就注释掉了

//$mail->AddAttachment("accessory.jpg");

//$mail->AddAttachment("accessory.zip");

//设置邮件接收方的邮箱和姓名

$mail->AddAddress("收件人邮箱地址","hello");

//使用HTML格式发送邮件

$mail->IsHTML(true);

//通过Send方法发送邮件

//根据发送结果做相应处理

if(!$mail->Send()){

echo "Mailer Error:".$mail->ErrorInfo;

}else{

echo "Message has been sent";

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM