采用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';
}
?> 展开
<?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';
}
?> 展开
2个回答
展开全部
原因是163邮箱开启了反垃圾邮件政策,抄送一份发送邮件就可以了。
具体分析如下:
如果开了调试,调试进去会看到错误提示:Could not connect to SMTP host,原因是升到php5.6后默认开启验证,这时候添加参数,去掉验证。
也有可能是163邮箱开启了反垃圾邮件政策,抄送一份发送邮件即可。
程序跑不动的原因最直接的就是函数调用出错,mail function error,所以需要检查一下自己的扩展文件有没有问题。
拓展:PHPMailer是一个用于发送电子邮件的PHP函数包,它提供的功能包括在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址,也支持多种邮件编码包括:8bit,base64,binary和quoted-printable,以及支持SMTP验证等多种功能。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询