安全地存储密码nodemailer

Joe*_*ant 4 email passwords node.js nodemailer

我有一个使用nodemailer发送邮件的应用程序.

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

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

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

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

Ger*_*osi 8

使用环境变量:

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

您可以在服务器上设置这些变量,应用程序将选择它们.例如:

NODEMAILER_SERVICE="Gmail"
Run Code Online (Sandbox Code Playgroud)