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连接()失败。
答案 0 :(得分:1)
您可能需要启用less secure apps
更改安全性较低的应用的帐户访问权限
为了确保Google Apps用户的帐户安全,我们可能会减少阻止 保护应用访问Google Apps帐户。作为Google Apps 用户,尝试签名时会看到“密码不正确”错误 如果是这种情况,您有两种选择:
- 选项1:升级到使用最新版本的更安全的应用 安防措施。所有Google产品(如Gmail)都使用最新产品 安全措施。
- 醇>
选项2:更改您的设置以允许访问安全性较低的应用 你的帐户。我们不推荐这个选项,因为它可能会 有人可以更容易地侵入您的帐户。如果你想 无论如何都允许访问,请按照以下步骤操作:
2.1。转到“我的帐户”中的“Less secure apps”部分
2.2。在“访问安全性较低的应用”旁边,选择启用。 (注意 Google Apps用户:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。)
如果您仍然无法登录自己的帐户,则“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 一起使用...
我不想尝试使用应用密码策略(双因素身份验证),但我似乎没有其他可以尝试的方法。