gpt4 book ai didi

node.js - 在nodemailer中使用OAuth2时Gmail API 'invalid username or password'

转载 作者:太空宇宙 更新时间:2023-11-03 21:51:58 25 4
gpt4 key购买 nike

我正在尝试将 gmail smtp 与最新版本的 nodemailer 一起使用。我已完成 here 中描述的步骤。发送邮件时我仍然收到以下错误消息:

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

这很奇怪,因为我从未尝试使用密码/用户名登录,而是使用 OAuth2:

    transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'hello@company.com',
clientId: '<clientId>.apps.googleusercontent.com',
clientSecret: '<clientSecret>',
accessToken: '<accessToken>',
refreshToken: '<refreshToken>',
}
});

transporter.sendMail({
from: from,
to: to,
subject: subject,
text: message,
html: htmlMessage
}, function (err, data) {
if (err) {
console.log(err);
console.log("======");
console.log(subject);
console.log(message);
} else {
console.log('Email sent:');
console.log(data);
}
});

有人知道我错过了什么吗?我尝试执行所有这些步骤来生成这些 token 3 次,因此我非常确定所有凭据都已正确填写。

提前致谢

最佳答案

基于此post ,尝试如下所示配置您的传输器:

const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: process.env.MAIL_USER,
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
refreshToken: process.env.GOOGLE_CLIENT_REFRESH_TOKEN
}
});

If you're unsure how to generate the id, secret and token, follow the steps here https://medium.com/@pandeysoni/nodemailer-service-in-node-js-using-smtp-and-xoauth2-7c638a39a37e

您也可以查看这个link了解您遇到该错误的可能原因。

关于node.js - 在nodemailer中使用OAuth2时Gmail API 'invalid username or password',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51555214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com