Node.js 中如何使用 Nodemailer 发送邮件

在 Node.js 中发送电子邮件的服务有很多,Nodemailer 是一个可靠且广泛使用的工具。Nodemailer 支持各种传输方式并具有轻松的配置和使用。 在本文中,我们将了解如何使用 Nodemailer 发送电子邮件。

安装 Nodemailer

安装 Nodemailer 可以使用 npm 命令。在终端或控制台中输入以下命令来安装 Nodemailer:

--- ------- ----------

使用 Nodemailer

在使用 Nodemailer 之前,我们需要创建一个 Gmail 账号。此外,我们还需要启用此账号中的“不安全应用程序访问权限”选项。这很重要,因为我们需要电子邮件地址和密码。

使用 Node.js 的 require() 方法引用 module,并创建一个对象 transporter。使用 Nodemailer 来设置发件人的电子邮件,密码和主机信息。

----- ---------- - ----------------------
----- ----------- - ----------------------------
  -------- --------
  ----- -
    ----- ----------------------
    ----- ---------------
  --
---

现在,我们可以发送一封常规的电子邮件。在 createTransport() 方法中使用 from 属性设置发件人电子邮件地址和 to 属性设置收件人电子邮件地址。 主题和文本数据存储在一个对象中。并使用 发送邮件的 sendMail() 方法可以发送邮件:

----- ----------- - -
  ----- ----------------------
  --- ---------------------
  -------- -------- ----- ----- ---------
  ----- ----- --- ---------
--

--------------------------------- -------- ------- ----- -
  -- ------- -
    -------------------
  - ---- -
    ------------------ ----- - - ---------------
  -
---

你会看到输出 "Email sent: " 消息。

发送带有附件的电子邮件

Nodemailer 支持将附件添加到电子邮件中。要将附件添加到电子邮件中,请使用 addAttachment() 方法。您需要提供文件的路径以及文件名和类型。

----- ----------- - -
  ----- ----------------------
  --- ---------------------
  -------- -------- ----- ---- ------------
  ----- ------ --- ---- -------------
  ------------ -
    -
      --------- ------------
      ----- ---------------------
      ------------ ------------
    --
  --
--

使用 Nodemailer 发送 HTML 电子邮件

Nodemailer 还可以发送包含 HTML 标记的电子邮件。要发送这些电子邮件,请使用 HTML 属性设置 HTML 代码,而不是 text 属性。 HTML 电子邮件看起来非常棒,并且使用起来更加流畅。

----- ----------- - -
  ----- ----------------------
  --- ---------------------
  -------- -------- ----- ----- ------
  ----- -------------------------- -----------
--

结论

恭喜,你已成功使用 Node.js 和 Nodemailer 发送电子邮件!在本文中,我们解释了如何安装 Nodemailer ,如何使用 Nodemailer ,发送带有附件的电子邮件,并使用 HTML 发送电子邮件。

Nodemailer 是一个出色的电子邮件传输工具,它支持各种传输和身份验证方式。希望本文能对您学习 Node.js 和 Nodemailer 有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6722d6dc2e7021665e0d205f