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

阅读时长 7 分钟读完

作为 Web 开发者,我们经常需要发送电子邮件。在 Node.js 生态系统中,Nodemailer 是一款常用的电子邮件发送库。它支持各种邮箱服务,并提供了灵活的配置选项。在本文中,我们将介绍如何在 Express.js 中使用 Nodemailer 发送电子邮件,包括安装、配置、发送邮件等全过程。

目录

  1. 安装 Nodemailer
  2. 创建邮件配置
  3. 发送邮件
  4. 示例代码

1. 安装 Nodemailer

在使用 Nodemailer 之前,我们需要先进行安装:

2. 创建邮件配置

在使用 Nodemailer 发送邮件时,我们需要指定邮箱服务、发件人、认证信息等。以下是配置邮件的一些基本参数:

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

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

----- ----------- - -
  ----- ----------------------- -- -------
  --- ------------------------ -- -------
  -------- -------
  ----- ------
--
展开代码

上述的配置信息中,hostport 根据具体的邮箱服务有所不同。secure 指定是否使用 SSL/TLS 安全连接。auth 则指定了发件人的邮箱地址和邮箱授权码。

mailOptions 用来指定邮件的内容和接收者的邮箱地址。其中,fromto 分别为发件人和收件人的邮箱地址。subject 为邮件的标题,text 为邮件的正文。

3. 发送邮件

在配置好邮件参数之后,我们就可以使用 Nodemailer 发送邮件了。以下是发送邮件的示例代码:

使用 transporter.sendMail() 方法发送邮件。如果发送成功,它将返回包含消息 ID 和其他有关消息发送状态的详细信息的对象。如果发生错误,则该方法将回调函数中返回一个错误。

我们可以将上述代码放在 Express.js 的路由处理函数中,以实现基于表单提交的邮件发送功能。以下是一个完整的 Express.js 应用程序的示例代码:

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

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

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

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

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

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

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

---------------- ---------- -
  -------------------- --- --------- -- ---- -------
---
展开代码

在这个示例中,我们定义了两个路由处理函数,其中,/ 路由返回包含一个表格的 HTML 文件,并提供了一个提交表单的按钮。/send 路由处理表单提交请求,并根据表单参数发送邮件。nodemailer 库提供了大量的配置和选项,以便我们构建更加复杂的邮件发送功能。

4. 示例代码

以下是本文中所介绍的完整示例代码:

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

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

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

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

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

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

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

---------------- ---------- -
  -------------------- --- --------- -- ---- -------
---
展开代码

总结

在本文中,我们介绍了如何在 Express.js 中使用 Nodemailer 发送电子邮件。配置邮件参数和发送邮件是使用 Nodemailer 的基本操作,可以根据具体的需求进行调整和扩展。Nodemailer 提供了许多选项和配置项,可以用于实现各种邮件发送功能。通过理解本文中的示例代码,我们可以快速实现一个简单的邮件发送功能,并加以扩展。

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

纠错
反馈

纠错反馈