Я создаю почтовую форму с реакцией, экспрессом и нодмейлером, и у меня проблема. Как настроить 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' }