Проблема с настройкой oauth2 с помощью nodemailer - PullRequest
1 голос
/ 09 ноября 2019

Я создаю почтовую форму с реакцией, экспрессом и нодмейлером, и у меня проблема. Как настроить oauth2? У меня есть

Ошибка: invalid_grant

Это мой код:

async function main2() {
        const output = `Some output text...`;

        // create reusable transporter object using the default SMTP transport
        let transporter = nodemailer.createTransport({
            host: 'mail.google.com',
            port: 465,
            secure: true, // true for 465, false for other ports
            auth: {
                type: 'OAuth2',
                clientId: 'clientID here',
                clientSecret: 'clientSecret here',
                refreshToken: 'refreshToken here',
                accessToken: 'accessToken here',
                expires: number
            },
            tls: {
                rejectUnauthorized: false
            }
        });

        // send mail with defined transport object
        let info = await transporter.sendMail({
            to: {
                name: 'Me',
                address: `${req.body.email}`
            },
            auth: {
                user: 'mymail@gmail.com',
            },
            subject: 'Hello',
            html: output // html body
        });

        console.log('Message sent: %s', info.messageId);
        // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>


        // Message sent to:...
        console.log(`Message sent to: ${req.body.email}`)

        // Preview only available when sending through an Ethereal account
        console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
        // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
    }

    main2().catch(console.error);
})

Я получаю эту ошибку, и я не знаю, что яотсутствует.

Я новичок в nodemailer и экспресс, и любая помощь будет оценена.

{ Error: invalid_grant
    at postRequest (path/node_modules/nodemailer/lib/xoauth2/index.js:259:33)
    at PassThrough.req.once (path/node_modules/nodemailer/lib/xoauth2/index.js:328:20)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
    at PassThrough.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9) code: 'EAUTH', command: 'AUTH XOAUTH2' }
...