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

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

WBOY
WBOYOriginal
2016-06-06 20:33:441934Durchsuche

以下是我的代码
错误提示信息为:
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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn