Ho解决SMTP连接失败错误

时间:2016-10-25 10:58:46

标签: php phpmailer

我想使用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

我如何解决这个问题?我感谢所有的回应。谢谢。

2 个答案:

答案 0 :(得分:1)

错误消息非常清楚地说明(最可能的)问题是什么:

  

不接受用户名和密码。

因此请仔细检查用户名和密码是否正确,以及它们是否存在任何字符集问题。尝试快速搜索以找出STMP服务器期望的那种字符集,但找不到任何特定的字符集。

此外,您可能需要检查错误消息中包含的链接以及the gmail SMTP support page。更具体地说,这一点:

  

要使用SSL连接,您需要提供用于身份验证的Google用户名和密码。确保您使用的用户名已清除用户首次登录时显示的CAPTCHA字验证测试。我们还建议您确保该帐户具有安全密码。

答案 1 :(得分:1)

请阅读您收到的错误消息。他们明确说明您的密码不正确。由于SMTP输出确实包含您的用户名和密码,因此我尝试登录并且gmail报告您的密码不正确:

请在加入问题之前立即更改您的密码并消除错误信息