来自 Nodemailer 的奇怪行为

Strange behavior from Nodemailer

我的 nodemailer 有一个奇怪的错误,那是我的代码

await transporter.sendMail({

from: "noreply@myDomainName.com",

to: this.inputs.email,

subject: "Accessing your account",

html: emailTemplate

});

从我的个人帐户发送给我的用户的电子邮件

myPersonalEmail@gmail.com 不是来自 noreply@myDomainName.com

我在运输工具中使用我的个人帐户 - 但为什么考虑它?

这是传输器配置 process.env.EMAIL_SENDING_CONFIG 包括

myPersonalEmail@gmail.com#myPersonalEmailPassword

var transporter = nodemailer.createTransport({
    host: "smtp.gmail.com",
    service: "gmail",
    port: 587,
    secure: false,
    auth: {
      user: process.env.EMAIL_SENDING_CONFIG.split("#")[0],
      pass: process.env.EMAIL_SENDING_CONFIG.split("#")[1]
    }
});

顺便说一下,这封电子邮件 noreply@myDomainName.com 不存在,如果这与问题有关

您需要按照 nodmailer 文档 https://nodemailer.com/smtp/.

中所述,在您的身份验证权限内传递您的自定义域

此外,您不能通过免费帐户 (FREE STMP) 使用自定义域

因此您需要使用自定义域信息(主机、端口、用户和密码)配置传输器。您可以在特定托管服务提供商的电子邮件配置中找到此信息。

var transporter = nodemailer.createTransport({
host: 'something.yourdomain.com',
port: 465,
secure: true, // true for 465, false for other ports
auth: {
  user: 'username@mydomain.com', // your domain email address
  pass: 'password' // your password
}
});

然后您可以继续定义邮件选项:

 var mailOptions = {
    from: '"Bob" <bob@bobsdomain.com>',
    to: 'tom@gmail.com',
    subject: "Hello",
    html : "Here goes the message body"
  };