Home > Backend Development > PHP Tutorial > email - phpmailer发送邮件提示SMTP server error怎么回事?

email - phpmailer发送邮件提示SMTP server error怎么回事?

WBOY
Release: 2016-06-06 20:33:44
Original
1939 people have browsed it

以下是我的代码
错误提示信息为:
SMTP server error: Error: send HELO/EHLO first
如果把SMTPAuth改为true,错误为
SMTP Error: Could not authenticate. Mail errorSMTP Error: Could not authenticate.
请教大神是什么原因?
是不是还需要哪些设置?还是phpmailer用得不对?
谢谢!
function sendmail($to,$subject,$msg)
{
require_once "PHPMailer/class.phpmailer.php";
include('PHPMailer/class.smtp.php');
$mail = new PHPMailer(); //创建实例
$mail -> CharSet='utf-8'; //设置字符集
$mail -> SetLanguage('en','include/PHPMailer/language/'); //设置语言类型和语言文件所在目录
$mail -> IsSMTP(); //使用SMTP方式发送
$mail -> SMTPAuth = false; //设置服务器是否需要SMTP身份验证
$mail -> Host = "smtp.163.com"; //SMTP 主机地址
$mail -> Port = 25; //SMTP 主机端口
$mail -> From = "ajw211@163.com"; //发件人EMAIL地址
$mail -> FromName = 'ajw211'; //发件人在SMTP主机中的用户名
$mail -> Username = "anthony"; //发件人的姓名
$mail -> Password = "**************"; //发件人在SMTP主机中的密码
$mail -> Subject = $subject; //邮件主题
$mail -> AltBody = 'text/html'; //设置在邮件正文不支持HTML时的备用显示
$mail -> Body = $msg;//邮件内容做成
$mail -> IsHTML(true); //是否是HTML邮件
$mail -> AddAddress($to,'zy10601'); //收件人的地址和姓名
$mail -> AddReplyTo($to,'zy10601'); //收件人回复时回复给的地址和姓名
//$mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称

if(!$mail->Send()){
echo "Mail error" . $mail->ErrorInfo;
}

else{
echo "suucceed!!";
}
}
$to = $_POST['toemail'];
$subject = $_POST['title'];
$msg = $_POST['content'];
sendmail($to,$subject,$msg);

回复内容:

以下是我的代码
错误提示信息为:
SMTP server error: Error: send HELO/EHLO first
如果把SMTPAuth改为true,错误为
SMTP Error: Could not authenticate. Mail errorSMTP Error: Could not authenticate.
请教大神是什么原因?
是不是还需要哪些设置?还是phpmailer用得不对?
谢谢!
function sendmail($to,$subject,$msg)
{
require_once "PHPMailer/class.phpmailer.php";
include('PHPMailer/class.smtp.php');
$mail = new PHPMailer(); //创建实例
$mail -> CharSet='utf-8'; //设置字符集
$mail -> SetLanguage('en','include/PHPMailer/language/'); //设置语言类型和语言文件所在目录
$mail -> IsSMTP(); //使用SMTP方式发送
$mail -> SMTPAuth = false; //设置服务器是否需要SMTP身份验证
$mail -> Host = "smtp.163.com"; //SMTP 主机地址
$mail -> Port = 25; //SMTP 主机端口
$mail -> From = "ajw211@163.com"; //发件人EMAIL地址
$mail -> FromName = 'ajw211'; //发件人在SMTP主机中的用户名
$mail -> Username = "anthony"; //发件人的姓名
$mail -> Password = "**************"; //发件人在SMTP主机中的密码
$mail -> Subject = $subject; //邮件主题
$mail -> AltBody = 'text/html'; //设置在邮件正文不支持HTML时的备用显示
$mail -> Body = $msg;//邮件内容做成
$mail -> IsHTML(true); //是否是HTML邮件
$mail -> AddAddress($to,'zy10601'); //收件人的地址和姓名
$mail -> AddReplyTo($to,'zy10601'); //收件人回复时回复给的地址和姓名
//$mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称

if(!$mail->Send()){
echo "Mail error" . $mail->ErrorInfo;
}

else{
echo "suucceed!!";
}
}
$to = $_POST['toemail'];
$subject = $_POST['title'];
$msg = $_POST['content'];
sendmail($to,$subject,$msg);

SMTPAuth = true;

关键是确定你的账号密码是否正确。

用户名试试 ajw211@163.com

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template