Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能避免;启用不太安全的应用程序访问”;用Gmail?_Gmail_Phpmailer_Outbound - Fatal编程技术网

我怎样才能避免;启用不太安全的应用程序访问”;用Gmail?

我怎样才能避免;启用不太安全的应用程序访问”;用Gmail?,gmail,phpmailer,outbound,Gmail,Phpmailer,Outbound,我正在尝试使用Gmail出站电子邮件设置,以便我可以发送电子邮件。我的站点有一个活动的SSL和工作的HTTPS,并且安装并启用了通常需要的安全扩展。我正在使用PHPMailer。但我仍然需要启用“不太安全的应用程序访问”。 是否有任何方法可以避免启用“不太安全的应用程序访问” 是的,你可以。您可以使用XOAUTH2执行此操作。 wiki中解释的get_oauth_token.php出现在PHPMailer/get_oauth_token.php中,请编辑您的问题并包含您的代码。您可能想检查这

我正在尝试使用Gmail出站电子邮件设置,以便我可以发送电子邮件。我的站点有一个活动的SSL和工作的HTTPS,并且安装并启用了通常需要的安全扩展。我正在使用PHPMailer。但我仍然需要启用“不太安全的应用程序访问”。
是否有任何方法可以避免启用“不太安全的应用程序访问”


是的,你可以。您可以使用
XOAUTH2执行此操作。


wiki中解释的
get_oauth_token.php
出现在
PHPMailer/get_oauth_token.php

中,请编辑您的问题并包含您的代码。您可能想检查这个@DaImTo我已经添加了代码,但这不是它,因为我已经对它做了很多编辑,并将它恢复为phpmail上的标准从客户那里获取设置,让普通用户更加忙碌,这真是倒霉。如果你不想启用不太安全的应用程序,你必须使用XOAUTH2;别无选择。是的,对任何事情使用OAuth都是非常不愉快、不方便和难以管理的,但是您别无选择,所以您需要处理它。PHPMailer是hore链中的最后一个链接–如果你想让用户更容易使用,你需要在你自己的应用程序中实现PHPMailer的
get_oauth_token.php
脚本。实际上,我正在从客户那里获取设置,这样普通用户会更忙,而我知道这本质上是一个“仅链接”的答案,这也是绝对正确的,所以我不确定否决票是否合理。
    $phpMailerObj= new PHPMailer();

    $phpMailerObj->isSMTP();
    $phpMailerObj->SMTPAuth = true;
    $phpMailerObj->SMTPDebug = 1;
    $phpMailerObj->Debugoutput = 'html';
    $phpMailerObj->Host = 'tls://smtp.gmail.com';
    $phpMailerObj->Port = 587;
    $phpMailerObj->SMTPSecure = 'tls';
    $phpMailerObj->SMTPAuth = true;
    $phpMailerObj->AuthType = 'LOGIN';
    $phpMailerObj->Username = "myemail@gmail.com";
    $phpMailerObj->Password = "test_password";
    $phpMailerObj->setFrom('myemail@gmail.com', 'THE NAME OF THE SENDER',0);
    $phpMailerObj->addAddress('myemail@gmail.com', 'RECEIVER NAME');

    $phpMailerObj->Subject = 'SUBJECT';
    $phpMailerObj->Body ='MESSAGE';

    if (!$phpMailerObj->send()) {
        echo "phpMailerObjer Error: " . $phpMailerObj->ErrorInfo;
        return 0;
    } else {
        echo "Message sent!";
        return 1;
    }