XOAUTH2设置的NodeMailer说明了不良的证书



我有以下节点代码:

var nodemailer = require("nodemailer");
var xoauth2 = require('xoauth2');
/*
    Here we are configuring our SMTP Server details.
    STMP is mail server which is responsible for sending and recieving email.
*/
var smtpTransport = nodemailer.createTransport({
    service: "Gmail",
    host: "smtp.gmail.com",
    auth: {
        XOAuth2: {
            user: "buckscountytourofhonor@gmail.com",
            pass: "****",
            clientId:"myclientidenteredhere",
            clientSecret:"mysecretenteredhere",
            refreshToken:"mytokenenteredhere"
        }
    }
});
module.exports = function(app, passport){
    app.get('/send',function(req,res){
        var mailOptions={
            to : 'buckscountytourofhonor@gmail.com',
            from: req.query.email,
            subject : req.query.subject,
            text : req.query.name +": "+req.query.message
        }
        console.log(mailOptions);
        smtpTransport.sendMail(mailOptions, function(error, response){
            if(error){
                console.log(error);
                res.end("error");
            }else{
                console.log("Message sent: " + response.message);
                res.end("sent");
            }
        });
    });

我目前正在关注本教程。实际上遵循了许多人,但这是最简洁的。

我收到以下错误:

错误:无效登录:535-5.7.8不接受的用户名和密码

任何人都可以帮助我弄清楚我所缺少的东西,我花了3个小时的时间来研究这一点。

我似乎刚刚遇到了这个问题。我有一个较旧的实现,与Xoauth一起工作,这是另一个具有相同代码的应用程序,但最新的NodeMailer Install确实提供了

无效的登录:535-5.7.8不接受用户名和密码。

我从xoauth2出发了

var generator = require('xoauth2').createXOAuth2Generator({
                                user: 'xxx',
                                clientId: 'xxx',
                                clientSecret: 'xxx',
                                refreshToken: 'xxx'
                            });

var transporter = nodemailer.createTransport(({
                                service: 'gmail',
                                auth: {
                                    xoauth2: generator
                                }

to

var transporter = nodemailer.createTransport(({
                                service: 'gmail',
                                auth: {
                                    type: 'OAuth2',
                                    user: 'xxx',
                                    clientId: 'xxx',
                                    clientSecret: 'xxx',
                                    refreshToken: 'xxxx'
                                }
                            }));

那是为我工作的。不知道这是否是这样,但值得一试。我确实遵循了Gmail设定的同一教程,这确实在我较早的实施中起作用,并且再次与新项目一起使用。

最新更新