在Gmail中通过PHP登录时,电子邮件尝试失败

Iri*_*eek 3 php gmail phpmailer incoming-mail

我需要使用PHP发送电子邮件方面的帮助。我实际上是在尝试使用PHP邮件程序发送电子邮件。对于某些邮件ID,以某种方式能够发送电子邮件,但是对于其他邮件ID,则无法发送。我收到了一封gmail电子邮件,内容为“阻止了尝试登录”。有人可以帮我知道我需要在哪里更改Gmail帐户中的设置才能使我的PHP代码发送电子邮件吗?

require("phpmailer/class.PHPMailer.php");
require("phpmailer/class.smtp.php");
$f_pointer=fopen("test.csv","r"); // file pointer
$emails = array();
while (($data = fgetcsv($f_pointer, 1000, ",")) !== FALSE) {
    $num = count($data);
    $emails[] = $data[1];
}
foreach($emails as $key=>$val){
    $mail = new PHPMailer();

    $mail->IsSMTP();                          // set mailer to use SMTP
    $mail->Host = "tls://smtp.gmail.com:587";  // specify main and backup server
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->Username = "abc";  // SMTP username
    $mail->Password = "some password"; // SMTP password

    $mail->From = "abc@gmail.com";
    $mail->FromName = "abc";
    $mail->AddAddress($val);

    $mail->Subject = "Here is the subject";
    $mail->Body    = "This is the HTML message body <b>in bold!</b>";
    $mail->AltBody = "This is the body in plain text for non-HTML mail clients";                     

    if(!$mail->Send())
    {
        echo "Message could not be sent. <p>";
        echo "Mailer Error: " . $mail->ErrorInfo;
        exit;
    }

    echo "Message has been sent";
}
Run Code Online (Sandbox Code Playgroud)

对于某些示例“ abc@gmail.com”,这可以正常工作,但是当我使用其他用户名,密码和电子邮件时,说“ xyz@gmail.com”时,我在收件箱中收到一封电子邮件,指出“登录尝试失败”。帮助表示赞赏。

Iri*_*eek 6

通过在链接https://www.google.com/settings/security/lesssecureapps中打开安全性较低的应用程序的权限已解决该问题

  • 这对我来说还不够,因此除了启用“允许安全性较低的应用程序”之外,您还需要访问https://accounts.google.com/DisplayUnlockCaptcha。 (3认同)