我想使用PHPMailer发送带有pdf附件的邮件。
代码:
include_once("./PHPMailer/PHPMailerAutoload.php");
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; // or 587
$mail->IsHTML(true);
$mail->Username = "username@gmail.com";
$mail->Password = "accual password";
$mail->SetFrom("test1@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("test2@gmail.com");
if (!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
错误:
2016-10-25 10:40:27 CLIENT -> SERVER: EHLO test.something.com
2016-10-25 10:40:27 CLIENT -> SERVER: STARTTLS
2016-10-25 10:40:27 CLIENT -> SERVER: EHLO test.something.com
2016-10-25 10:40:27 CLIENT -> SERVER: AUTH LOGIN
2016-10-25 10:40:27 CLIENT -> SERVER: ... user name removed ...
2016-10-25 10:40:27 CLIENT -> SERVER: ... password removed ...
2016-10-25 10:40:27 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials cy7sm4615595wjc.26 - gsmtp
2016-10-25 10:40:27 SMTP Error: Could not authenticate.
2016-10-25 10:40:27 CLIENT -> SERVER: QUIT
2016-10-25 10:40:27 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshootingthanks
我如何解决这个问题?我感谢所有的回应。谢谢。
答案 0 :(得分:1)
错误消息非常清楚地说明(最可能的)问题是什么:
不接受用户名和密码。
因此请仔细检查用户名和密码是否正确,以及它们是否存在任何字符集问题。尝试快速搜索以找出STMP服务器期望的那种字符集,但找不到任何特定的字符集。
此外,您可能需要检查错误消息中包含的链接以及the gmail SMTP support page。更具体地说,这一点:
要使用SSL连接,您需要提供用于身份验证的Google用户名和密码。确保您使用的用户名已清除用户首次登录时显示的CAPTCHA字验证测试。我们还建议您确保该帐户具有安全密码。
答案 1 :(得分:1)
请阅读您收到的错误消息。他们明确说明您的密码不正确。由于SMTP输出确实包含您的用户名和密码,因此我尝试登录并且gmail报告您的密码不正确:
请在加入问题之前立即更改您的密码并消除错误信息