使用nodemailer接收邮件而不设置“允许不太安全的应用程序访问”

我想问一些关于nodemailer的问题,我就像这样做代码

Var client = nodemailer.createTransport ({ Service: 'gmail', Auth: { User: 'example@gmail.com', // Your email address Pass: '123' // Your password}, Tls: {rejectUnauthorized: false} }); 

这工作,但成功交付后,当我必须接收已发送的电子邮件,我需要启用Gmail的设置,如“允许不太安全的应用程序访问”。 我不想设置它。

那么如何将example@gmail.com的电子邮件发送到example1@gmail.com,而不需要设置“允许不太安全的应用程序访问”,并直接在电子邮箱中接受邮件!! ??? 或者应该添加任何其他插件?

THANX;)

从Google OAuth2.0 Playground获取accessToken&refreshToken,从Google开发者控制台获取clientId&clientSecret

 const nodemailer = require('nodemailer'); const xoauth2 = require('xoauth2'); var express = require('express'); var router = express.Router(); var smtpTransport = nodemailer.createTransport('SMTP',{ service:"Gmail", auth:{ XOAuth2: { user:'sender@emailaddress.com', clientId: 'your-client-id', clientSecret: 'your-cliet-secret', accessToken:'your-access-token', refreshToken: 'your-refresh-token' } } }); router.get('/emaildemo', function(req, res, next) { var mailOptions = { from: 'sender@emailaddress.com', to: 'xxx@email.com', subject: 'TEST SUBJECTT', text: 'TEST MAIL', }; smtpTransport.sendMail(mailOptions, function(error, info){ if(error){ console.log('Error Occured', error); return res.send(error); } return res.send("mail send successfully"); }); }); module.exports = router;