2 zy10601 zy10601 于 2015.06.04 11:57 提问

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

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

1个回答

pop32399
pop32399   2015.06.04 12:55

这个问题问得好,不太好回答

Csdn user default icon
上传中...
上传图片
插入图片