安全地存储密码nodemailer

时间:2014-10-20 21:22:22

标签: node.js email passwords nodemailer

我有一个使用nodemailer发送邮件的应用。

transporter = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: "email",
    pass: "what here?"
  }
});

我想保持应用程序的开源,只是为了它(以及不希望明文密码基本上存在于任何地方)。

我知道nodemailler-direct,但这里有更好的选择吗?我还想过提示服务器控制台输入密码,但这也很笨拙。

是否有正确的"或标准方式做这样的事情?

1 个答案:

答案 0 :(得分:8)

使用环境变量:

transporter = nodemailer.createTransport({
  service: process.env.NODEMAILER_SERVICE,
  auth: {
    user: process.env.NODEMAILER_USER,
    pass: process.env.NODEMAILER_PASS
  }
});

您可以在服务器上设置这些变量,应用程序将对其进行拾取。例如:

NODEMAILER_SERVICE="Gmail"