PHPMailer:密码命令失败:534-5.7.14

时间:2016-04-14 17:52:16

标签: php email phpmailer

function send_mail($message, $subject)
{
    if (array_key_exists('resume', $_FILES))
    {
        $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['resume']['name']));
        if (move_uploaded_file($_FILES['resume']['tmp_name'], $uploadfile))
        {
           require './PHPMailer/PHPMailerAutoload.php';
           $mail              = new PHPMailer;
           $mail->isSMTP();
           $mail->SMTPDebug   = 1;
           $mail->Debugoutput = 'html';
           $mail->Host        = 'smtp.gmail.com';
           $mail->Port        = 587;
           $mail->SMTPSecure = 'tls';            
           $mail->SMTPAuth    = true;
           $mail->Username    = "abc@gmail.com";
           $mail->Password    = "XXXX";
           $mail->SetFrom('abc@gmail.com', 'ABC');
           $mail->AddAddress('abc@gmail.com');
           $mail->Subject = $subject;
           $mail->MsgHTML($message);
           $mail->AltBody = 'This is a plain-text message body';
           $mail->addAttachment($uploadfile);

           if ($mail->Send())
           {
               echo "<script>alert('Your application is sent successfully. Our recruitment team will get in touch with you soon.');</script>";
           }
           else
           {
               echo "Mailer Error: " . $mail->ErrorInfo;

           }
       }
       else
       {
           echo 'Failed to move file to ' . $uploadfile;
       }
   }

}

我得到以下提到的错误:

CLIENT -> SERVER: EHLO localhost
CLIENT -> SERVER: STARTTLS
CLIENT -> SERVER: EHLO localhost
CLIENT -> SERVER: AUTH LOGIN
CLIENT -> SERVER: ZGV0ZWN0aW9uaW5zdHJ1bWVudEBnbWFpbC5jb20=
CLIENT -> SERVER: ZGV0ZWN0aW9uaW5kaWE=
SMTP ERROR: Password command failed: 534-5.7.14          <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbuk534-5.7.14 PHxasqAG-1Yi0Ij1bFvZdQIBCbXiwU2i-qOUAnhhTN-mHhCHRat1ivgXGVmBuQTk0cJTl2534-5.7.14 7kvt6yrXWWs9R8Rz1mxkje545Mg0F7Xx3Cl1VTW33gDBxGfcVfR-pIVPd1SIqMHWdICkLz534-5.7.14 pPL3_DNms_IS8jJkz3Eo3MH91Yq1OU3XUV1EXzfxaUA7xbYyK9jbwM1XVvVQ-NqqYYKCMY534-5.7.14 uNWA9kWIDl_XXYWrNNP6_cCiWomH8> Please log in via your web browser and534-5.7.14 then try again.534-5.7.14 Learn more at534 5.7.14 https://support.google.com/mail/answer/78754 bb5sm14055457pac.21 - gsmtp

SMTP错误:无法进行身份验证。 客户 - &gt;服务器:退出 SMTP connect()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 邮件程序错误:SMTP连接()失败。

2 个答案:

答案 0 :(得分:1)

您可能需要启用less secure apps

  

更改安全性较低的应用的帐户访问权限

     

为了确保Google Apps用户的帐户安全,我们可能会减少阻止   保护应用访问Google Apps帐户。作为Google Apps   用户,尝试签名时会看到“密码不正确”错误   如果是这种情况,您有两种选择:

     
      
  1. 选项1:升级到使用最新版本的更安全的应用   安防措施。所有Google产品(如Gmail)都使用最新产品   安全措施。
  2.   
  3. 选项2:更改您的设置以允许访问安全性较低的应用   你的帐户。我们不推荐这个选项,因为它可能会   有人可以更容易地侵入您的帐户。如果你想   无论如何都允许访问,请按照以下步骤操作:

         

    2.1。转到“我的帐户”中的“Less secure apps”部分

         

    2.2。在“访问安全性较低的应用”旁边,选择启用。 (注意   Google Apps用户:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。)

  4.         

    如果您仍然无法登录自己的帐户,则“password incorrect”错误可能是由其他原因造成的。

SRC:https://support.google.com/accounts/answer/6010255?hl=en

注意:

在打开PHP标记之后立即将错误报告添加到文件顶部,例如<?php error_reporting(E_ALL); ini_set('display_errors', 1);

并在PHPMAILER上启用调试

$mail->SMTPDebug  = 1; // enables SMTP debug information (for testing)
                       // 1 = errors and messages
                       // 2 = messages only

看它是否会产生任何结果。

答案 1 :(得分:0)

我有同样的问题,但仅限于尝试从 heroku 连接时。 如果我尝试从 000webhost 连接,它可以与 ssl 或 tls 一起使用...

我不想尝试使用应用密码策略(双因素身份验证),但我似乎没有其他可以尝试的方法。