Heim >Backend-Entwicklung >PHP-Tutorial >phpmailer - phpemailer 一直发送失败

phpmailer - phpemailer 一直发送失败

WBOY
WBOYOriginal
2016-07-06 13:52:002346Durchsuche

<code>
2016-06-29 10:24:57    CLIENT -> SERVER: EHLO www.a.com
2016-06-29 10:24:57    CLIENT -> SERVER: AUTH LOGIN
2016-06-29 10:24:57    CLIENT -> SERVER: MzA1MzU2MTIzQHFxLmNvbQ==
2016-06-29 10:24:57    CLIENT -> SERVER: YWRtaW44ODg=
2016-06-29 10:24:57    SMTP ERROR: Password command failed: 535 Error: ��ʹ����Ȩ����¼�������뿴: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
2016-06-29 10:24:57    SMTP Error: Could not authenticate.
2016-06-29 10:24:57    CLIENT -> SERVER: QUIT
2016-06-29 10:24:57    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
发送邮件失败,错误信息未:SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting



<?php /**
 *
 * 
 */

header("Content-type: text/html; charset=utf-8"); 

require '../../PHPMailer/PHPMailerAutoload.php';


$mail = new PHPMailer;



//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
 
//使用smtp鉴权方式发送邮件,当然你可以选择pop方式 sendmail方式等 本文不做详解
//可以参考http://phpmailer.github.io/PHPMailer/当中的详细介绍

//smtp需要鉴权 这个必须是true
$mail->SMTPAuth=true;
//链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port = 465;
//设置smtp的helo消息头 这个可有可无 内容任意
$mail->IsSMTP();



$mail->Username = "30535690@qq.com";   // 用户名

$mail->Password = "admin888";          // 密码 

//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true); 
//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail->addAddress('5452881@qq.com','晶晶在线用户');
//添加多个收件人 则多次调用方法即可
$mail->addAddress('lijuan@baidu.com','晶晶在线用户');
//添加该邮件的主题
$mail->Subject = 'PHPMailer发送邮件的示例';
//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail->Body = "这是一个<b style='\"color:red;\"'>PHPMailer</b>发送邮件的一个测试用例";
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
//$mail->addAttachment('./d.jpg','mm.jpg');
//同样该方法可以多次调用 上传多个附件
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
 
 
//发送命令 返回布尔值 
//PS:经过测试,要是收件人不存在,若不出现错误依然返回true 也就是说在发送之前 自己需要些方法实现检测该邮箱是否真实有效
$status = $mail->send();
 
//简单的判断与提示信息
if($status) {
 echo '发送邮件成功';
}else{
 echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo;
}

</code>

回复内容:

<code>
2016-06-29 10:24:57    CLIENT -> SERVER: EHLO www.a.com
2016-06-29 10:24:57    CLIENT -> SERVER: AUTH LOGIN
2016-06-29 10:24:57    CLIENT -> SERVER: MzA1MzU2MTIzQHFxLmNvbQ==
2016-06-29 10:24:57    CLIENT -> SERVER: YWRtaW44ODg=
2016-06-29 10:24:57    SMTP ERROR: Password command failed: 535 Error: ��ʹ����Ȩ����¼�������뿴: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
2016-06-29 10:24:57    SMTP Error: Could not authenticate.
2016-06-29 10:24:57    CLIENT -> SERVER: QUIT
2016-06-29 10:24:57    SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
发送邮件失败,错误信息未:SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting



<?php /**
 *
 * 
 */

header("Content-type: text/html; charset=utf-8"); 

require '../../PHPMailer/PHPMailerAutoload.php';


$mail = new PHPMailer;



//是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
 
//使用smtp鉴权方式发送邮件,当然你可以选择pop方式 sendmail方式等 本文不做详解
//可以参考http://phpmailer.github.io/PHPMailer/当中的详细介绍

//smtp需要鉴权 这个必须是true
$mail->SMTPAuth=true;
//链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
//设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
//设置ssl连接smtp服务器的远程服务器端口号 可选465或587
$mail->Port = 465;
//设置smtp的helo消息头 这个可有可无 内容任意
$mail->IsSMTP();



$mail->Username = "30535690@qq.com";   // 用户名

$mail->Password = "admin888";          // 密码 

//邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true); 
//设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail->addAddress('5452881@qq.com','晶晶在线用户');
//添加多个收件人 则多次调用方法即可
$mail->addAddress('lijuan@baidu.com','晶晶在线用户');
//添加该邮件的主题
$mail->Subject = 'PHPMailer发送邮件的示例';
//添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail->Body = "这是一个<b style='\"color:red;\"'>PHPMailer</b>发送邮件的一个测试用例";
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
//$mail->addAttachment('./d.jpg','mm.jpg');
//同样该方法可以多次调用 上传多个附件
//$mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
 
 
//发送命令 返回布尔值 
//PS:经过测试,要是收件人不存在,若不出现错误依然返回true 也就是说在发送之前 自己需要些方法实现检测该邮箱是否真实有效
$status = $mail->send();
 
//简单的判断与提示信息
if($status) {
 echo '发送邮件成功';
}else{
 echo '发送邮件失败,错误信息未:'.$mail->ErrorInfo;
}

</code>

错误信息很明显啊Password command failed密码有问题Could not authenticate无法通过验证啊!还有什么不明白的啊!

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