在 Express.js 应用程序中使用 Nodemailer 发送电子邮件

阅读时长 5 分钟读完

在现代 Web 应用程序中,电子邮件是一个不可或缺的组成部分。它可以用于用户注册、密码重置、通知等等。在 Node.js 中,可以使用 Nodemailer 模块方便地发送电子邮件。本文将介绍如何在 Express.js 应用程序中使用 Nodemailer 发送电子邮件。

安装 Nodemailer

使用 Nodemailer 发送电子邮件需要先安装 Nodemailer 模块。可以使用 npm 命令进行安装:

配置 Nodemailer

在应用程序中使用 Nodemailer 发送电子邮件需要配置 SMTP 服务器。可以使用 Gmail、Yahoo 等电子邮件服务提供商的 SMTP 服务器,也可以使用自己的 SMTP 服务器。以下是一个使用 Gmail SMTP 服务器的示例配置:

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

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

在上面的代码中,使用 nodemailer.createTransport() 方法创建了一个邮件传输对象 transporterservice 属性指定了使用的电子邮件服务提供商,auth 属性指定了 SMTP 服务器的用户名和密码。

发送电子邮件

发送电子邮件可以使用 transporter.sendMail() 方法。以下是一个发送电子邮件的示例代码:

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

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

在上面的代码中,定义了一个 mailOptions 对象,包含了发送邮件的相关信息,例如发件人、收件人、主题和正文。然后使用 transporter.sendMail() 方法发送电子邮件。如果发送成功,将在控制台输出 Email sent: <message_id>

发送 HTML 邮件

Nodemailer 还支持发送 HTML 格式的电子邮件。以下是一个发送 HTML 邮件的示例代码:

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

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

在上面的代码中,mailOptions 对象的 html 属性指定了 HTML 格式的正文。当收件人使用支持 HTML 的电子邮件客户端查看邮件时,将显示 HTML 格式的内容。

发送附件

Nodemailer 还支持发送附件。以下是一个发送附件的示例代码:

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

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

在上面的代码中,mailOptions 对象的 attachments 属性指定了要发送的附件。可以指定多个附件,每个附件包含一个文件名和内容。

总结

本文介绍了如何在 Express.js 应用程序中使用 Nodemailer 发送电子邮件。首先需要安装 Nodemailer 模块,并配置 SMTP 服务器。然后可以使用 transporter.sendMail() 方法发送电子邮件。还介绍了如何发送 HTML 邮件和附件。希望本文能够帮助读者更好地使用 Nodemailer 发送电子邮件。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65ce31c3add4f0e0ff74c0ee

纠错
反馈