当我对 Nodemailer 使用此配置时:
const transporter = nodemailer.createTransport({
service: process.env.EMAIL_SERVICE,
auth: {
user: process.env.EMAIL_USER,
pass: process.env.EMAIL_PASSWORD
}
});
变量:
EMAIL_SERVICE: 'Hotmail',
EMAIL_USER: 'MyEmail@outlook.com',
EMAIL_PASSWORD: 'MyPassword'
我像这样发送电子邮件:
transporter.sendMail({
to: email,
subject: 'Confirmar cambio de contraseña',
html: `Para cambiar la contraseña entre a <a href="${url}">${url}</a> <br> Este token solo dura 24 horas.`
});
在开发中它工作得很好,但是当我在 Now 中部署它时,它会抛出这个错误:
如何解决?
这里有一个关于此的小例子:
https://github.com/MontoyaAndres/NowProblemNodemailer
现在:
https://nowemail-owcypiqzsr.now.sh
谢谢:)
最佳答案
您可能需要添加 secret然后将环境变量添加到您的 now.json
中。
运行这些命令一次,在您的 ZEIT Now 帐户中添加 secret (如果您有多个帐户,请使用 now switch
)。
now secret add email-service 'Hotmail'
now secret add email-user 'MyEmail@outlook.com'
now secret add email-password 'MyPassword'
然后将 env
键添加到您的 now.json
文件中,如下所示:
{
"version": 2,
"builds": [/* your builds go here */],
"env": {
"EMAIL_SERVICE": "@email-service",
"EMAIL_USER": "@email-user",
"EMAIL_PASSWORD": "@email-password"
}
}
关于node.js - 使用 ZEIT Now 设置环境变量时 Nodemailer 无效登录 535,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51664082/