如何在 node.js 中发送电子邮件通知

How can I send E-Mail Notifications in node.js

我的查询很简单,我们所有人每天都会收到来自不同公司的许多电子邮件通知和提醒。我想达到完全一样的效果。我尽可能地搜索,但我只能找到从我的个人帐户(Gmail)发送邮件的方式。但是我想用公司账号发邮件

如果我使用 nodemailer,我需要使用一些 smtp-host 或一些服务(比如 Gmail),然后我需要输入一些凭据 (auth) 才能发送。

但是如果我想用私人公司的账号。我该怎么做呢?我不能说 service: "myPrivateCompany" 并将属性分配给 auth,它不起作用,它适用于 Gmail,但不适用于私人公司,

我怎样才能让它工作,以便收件人知道哪个 company/website 或平台发送了电子邮件?

如您所知,我现在是初学者。有人还可以解释一下 'service'smptp-hostport 吗?

这是我试过的照片。

您好,这是我在公司使用的代码:

export const sendEmails = async () => {
  try {
    let transporter = nodemailer.createTransport({
      host: "smtp.your server",
      port: server port,
      secure: false,
      auth: {
        user: "email to used to send",
        pass: "That email password",
      },
      tls: {
        rejectUnauthorized: false,
      },
    });

    let info = await transporter.sendMail({
      from: "Sender email",
      to: "email to send to,
      subject: header,
      html: "message",
    });
  } catch (e) {
    throw new Error(e);
  }
};

以上是我用来从我的 nodejs 发送电子邮件的功能app.Try它肯定会有所帮助

您也可以传入email, message 和 subject 以方便

That is what I am asking, if anyone could define the "service" part. Like it works if I put "gmail" as a service

这只是从 a JSON file distributed with Nodemailer 中读取了一些配置选项。

例如Gmail 部分如下所示:

"Gmail": {
    "aliases": ["Google Mail"],
    "domains": ["gmail.com", "googlemail.com"],
    "host": "smtp.gmail.com",
    "port": 465,
    "secure": true
},

它仅在您使用大型 third-party 电子邮件服务且 Nodemailer 具有其数据时才有用。否则,您需要显式提供邮件服务器的配置,而不是使用 service shorthand.

例如根据 the documentation:

nodemailer.createTransport({
  host: "smtp.example.com",
  port: 587,
  secure: false, // upgrade later with STARTTLS
  auth: {
    user: "username",
    pass: "password",
  },
});