如何将我的 nodemailer 电子邮件作为变量?

How can I get my nodemailer email as a variable?

我将 nodemailer 模块与 node.js 一起使用并完成了以下操作:

let transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'email@gmail.com',
    pass: 'mypassword'
  }
});

申报运输车。我的问题是,如果我需要更改它,我是否可以访问电子邮件 - 'user' 作为一个变量来保存我在任何地方更新它。我试过

console.log(transporter.auth.user);

但我得到“无法读取未定义的 属性 'user'。”

您可以为此简单地使用一个变量。

const email = "myemail@gmail.com";

let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
       user: email,
       pass: 'mypassword'
    }
});

// ...
console.log(email);

您要找的是:

let transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'email@gmail.com',
    pass: 'mypassword'
  }
});
console.log(transporter.transporter.auth.credentials);

会给你:

Object {pass: "mypassword", user: "email@gmail.com"}

就像我们的朋友 Sapher 在评论中所说的那样:

console.log(transporter.options.auth);

也将 return 相同 Object(包含 passuser