采用PHPMailer发邮件出现,Message could not be sent.Mailer Error: SMTP connect() failed.求解决!

网易邮箱已开通smtp<?phprequire'PHPMailer/PHPMailerAutoload.php';//require_once("PHPMailer/cl... 网易邮箱已开通smtp
<?php
require 'PHPMailer/PHPMailerAutoload.php';
//require_once("PHPMailer/class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
/**
site send Email function
**/
$mail->isSMTP();
$mail->Host="smtp.163.com";
$mail->SMTPAuth=true;
$mail->Username="ghostphp";
$mail->Password="XXXXXXXX";

//send email
$mail->From="ghostphp@163.com";
$mail->FromName="ghostphp";
$mail->Subject="helloword";
$mail->Body="doctor china";

$mail->AddAddress("ghostphp@163.com","ghostphp");
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}

?>
展开
 我来答
扒圈放大镜Ctb2b
2014-06-08 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:83.8万
展开全部

我通常的 PHPMailer 配置信息跟你的有些许不同,下面2处

AddAddress 也不同,我通常填写的是收件人地址,而你填写的是收件人跟发件人是一样的

其他基本跟你的配置一样。

百度网友02a6be8df3
高粉答主

2018-03-31 · 醉心答题,欢迎关注
知道大有可为答主
回答量:244
采纳率:100%
帮助的人:4.3万
展开全部

原因是163邮箱开启了反垃圾邮件政策,抄送一份发送邮件就可以了。

具体分析如下:

  1. 如果开了调试,调试进去会看到错误提示:Could not connect to SMTP host,原因是升到php5.6后默认开启验证,这时候添加参数,去掉验证。

  2. 也有可能是163邮箱开启了反垃圾邮件政策,抄送一份发送邮件即可。

  3. 程序跑不动的原因最直接的就是函数调用出错,mail function error,所以需要检查一下自己的扩展文件有没有问题。

  4. 拓展:PHPMailer是一个用于发送电子邮件的PHP函数包,它提供的功能包括在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址,也支持多种邮件编码包括:8bit,base64,binary和quoted-printable,以及支持SMTP验证等多种功能。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式