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

网易邮箱已开通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="[email protected]";
$mail->FromName="ghostphp";
$mail->Subject="helloword";
$mail->Body="doctor china";

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

?>

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

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

具体分析如下:

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

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

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

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

本回答被网友采纳
第2个回答  2018-03-31

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

具体分析如下:

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

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

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

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

本回答被网友采纳