Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/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 oauth在NodeEmailer中发送电子邮件需要哪个范围?_Oauth_Scope_Smtp_Gmail_Nodemailer - Fatal编程技术网

通过gmail oauth在NodeEmailer中发送电子邮件需要哪个范围?

通过gmail oauth在NodeEmailer中发送电子邮件需要哪个范围?,oauth,scope,smtp,gmail,nodemailer,Oauth,Scope,Smtp,Gmail,Nodemailer,我已经设置了google帐户的身份验证,我能够获得用户的访问和刷新令牌,但当我将范围设置为“仅”时,它不起作用,但当我将身份验证范围设置为“仅”时,它就可以正常工作。这是怎么回事?为什么我不能使用send作用域通过NodeEmailer发送电子邮件?这是我的密码:- var nodemailer = require('nodemailer'); let transporter = nodemailer.createTransport({ host: 'smtp.gmail.com',

我已经设置了google帐户的身份验证,我能够获得用户的访问和刷新令牌,但当我将范围设置为“仅”时,它不起作用,但当我将身份验证范围设置为“仅”时,它就可以正常工作。这是怎么回事?为什么我不能使用send作用域通过NodeEmailer发送电子邮件?这是我的密码:-

var nodemailer = require('nodemailer');

let transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 587,
    secure: false,
    requireTLS: true,
    auth: {
        type: 'OAuth2',
        clientId: 'my_client_id',
        clientSecret: 'my_client_secret'
    }
});

transporter.sendMail({
    from: 'user@gmail.com',
    to: 'target@gmail.com',
    subject: 'Message',
    text: 'Hi there',
    auth: {
        user: 'user@gmail.com',
        refreshToken: 'user_refresh_token',
        accessToken: 'user_access_token'
    }
}).catch(error => {
    console.log(error);
});

NodeEmailer文档中有一条说明,说明范围必须为'https://mail.google.com/“:

这实际上是谷歌在这里指定的: