Php SMTP错误:无法进行身份验证。阻止登录尝试

Php SMTP错误:无法进行身份验证。阻止登录尝试,php,email,phpmailer,Php,Email,Phpmailer,我正在尝试通过phpmailer类发送电子邮件。但我发现此问题:SMTP错误:无法进行身份验证。 在我的gmail帐户中,我看到一封邮件:阻止登录尝试 我正在使用以下凭据: 因此,这可能是错误的,或者我如何提供权限,因为我的收件箱中有一条消息:阻止登录尝试正如@Synchro所说,您使用的是旧版本的PHPMailer。使用最新版本 您还提到,电子邮件登录尝试阻止了登录到您的收件箱。尝试单击立即查看您的设备,应该会有一个按钮或链接显示允许此登录尝试或类似内容。然后,再次尝试运行代码,看看它是否有效

我正在尝试通过phpmailer类发送电子邮件。但我发现此问题:
SMTP错误:无法进行身份验证。

在我的gmail帐户中,我看到一封邮件:
阻止登录尝试

我正在使用以下凭据:
因此,这可能是错误的,或者我如何提供权限,因为我的收件箱中有一条消息:
阻止登录尝试

正如@Synchro所说,您使用的是旧版本的PHPMailer。使用最新版本

您还提到,电子邮件
登录尝试阻止了
登录到您的收件箱。尝试单击
立即查看您的设备
,应该会有一个按钮或链接显示
允许此登录尝试
或类似内容。然后,再次尝试运行代码,看看它是否有效

如果没有,那么,如果你在谷歌账户中打开了2FA,试着关闭它


希望有帮助:)

嗯,您的身份验证失败了。我们对此无能为力。为什么不直接使用IsMail功能呢?这使用php邮件,不需要身份验证。您使用的是旧版本的PHPMailer。然后根据提供的gmail示例编写代码,并阅读故障排除指南,该指南准确地告诉您如何处理gmail auth。
function send_mail($email,$message,$subject)
{                       
    require_once('mailer/class.phpmailer.php');
    $mail = new PHPMailer();
    $mail->IsSMTP(); 
    $mail->SMTPDebug  = 0;                     
    $mail->SMTPAuth   = true;                  
    $mail->SMTPSecure = "ssl";                 
    $mail->Host       = "smtp.gmail.com";      
    $mail->Port       = 465;             
    $mail->AddAddress($email);
    $mail->Username="mymail@gmail.com";  
    $mail->Password="password";            
    $mail->SetFrom('mymail@gmail.com','Coding Cage');
    $mail->AddReplyTo("mymail@gmail.com","Coding Cage");
    $mail->Subject    = $subject;
    $mail->MsgHTML($message);
    $mail->Send();
}