如何在 nodemailer 中定义自定义域电子邮件?

Zes*_*irk 12 node.js nodemailer

我正在尝试使用 Nodejs 包 Nodemailer 发送电子邮件,但我无法将电子邮件从电子邮件更改为我的自定义域电子邮件。任何帮助将不胜感激。这是我用来发送电子邮件的代码。

transporter.sendMail({
   from: 'support@domain.com',
   to: 'recipient@example.com',
   subject: 'Message',
   text: 'I hope this message gets through!',
   auth: {
            user: 'zeshanvirk@gmail.com'
         }
});
Run Code Online (Sandbox Code Playgroud)

小智 11

就像 nodemailer 文档中指出的那样https://nodemailer.com/smtp/

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

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
    }
  });
Run Code Online (Sandbox Code Playgroud)

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

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

最后,您可以继续使用 transporter 和 mailOptions 使用函数 sendEmail 发送电子邮件

  transporter.sendMail(mailOptions, function (err, info) {
    if (err) {
      console.log(err);
      return ('Error while sending email' + err)
    }
    else {
      console.log("Email sent");
      return ('Email sent')
    }
  });
Run Code Online (Sandbox Code Playgroud)