Javascript 节点电子邮件器OAuth2 2LO在Heroku部署中失败
这段代码在本地环境下可以发送电子邮件 我部署到heroku,但得到一个错误:Javascript 节点电子邮件器OAuth2 2LO在Heroku部署中失败,javascript,node.js,heroku,oauth-2.0,nodemailer,Javascript,Node.js,Heroku,Oauth 2.0,Nodemailer,这段代码在本地环境下可以发送电子邮件 我部署到heroku,但得到一个错误:error:无法生成令牌。检查您的身份验证选项 据我所知,heroku配置变量正确通过 谷歌对heroku服务器是否有某种IP限制?我是不是遗漏了什么 这是一个带有Google服务帐户的gSuite帐户 谢谢好的。我明白了,但把这个问题留在这里,以防有人犯了这个愚蠢的错误 这不是希罗库的问题。这是一个.env问题 显然,当作为env变量传递时,私钥中会出现一些中断。可能跟断线有关 对我有效的无果而终的解决方案: 使用.e
error:无法生成令牌。检查您的身份验证选项
据我所知,heroku配置变量正确通过
谷歌对heroku服务器是否有某种IP限制?我是不是遗漏了什么
这是一个带有Google服务帐户的gSuite帐户
谢谢好的。我明白了,但把这个问题留在这里,以防有人犯了这个愚蠢的错误 这不是希罗库的问题。这是一个.env问题 显然,当作为env变量传递时,私钥中会出现一些中断。可能跟断线有关 对我有效的无果而终的解决方案:
“----开始RSA私钥------…”
{“key”:“-----开始RSA私钥------….”}
然后在应用程序中,JSON.parse(process.env.PRIVATE_key).key
const {
EMAIL_FROM,
EMAILS_TO,
USER,
GMAIL_CLIENT_ID,
GMAIL_PRIVATE_KEY
} = process.env;
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: USER,
serviceClient: GMAIL_CLIENT_ID,
privateKey: GMAIL_PRIVATE_KEY,
}
});