Express.js 中使用 nodemailer 发送邮件

阅读时长 7 分钟读完

在开发 Web 应用程序时,发送电子邮件是一项经常使用的任务,例如,向用户发送帐户验证电子邮件或密码重置电子邮件。Express.js 是一种流行的服务器端 JavaScript 框架,而 nodemailer 是一个可靠的 Node.js 库,用于发送电子邮件。

在本文中,我们将介绍如何在 Express.js 中使用 nodemailer 库来发送电子邮件。

安装 nodemailer

在使用 nodemailer 之前,我们需要将其安装为项目的依赖项。可以通过 NPM 使用以下命令进行安装:

配置 nodemailer

在配置 nodemailer 之前,我们需要使用邮箱提供商提供的凭据,如 SMTP 主机,SMTP 端口,SMTP 用户名和 SMTP 密码。

以下是一个示例 Gmail 邮箱配置:

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

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

在上面的代码中,我们使用 Gmail 的 SMTP 主机和端口,并提供我们的 Gmail 帐户的用户名和密码。

发送邮件

现在我们已经配置了 nodemailer,我们可以通过使用其 .sendMail() 方法来发送电子邮件。

以下代码演示如何向一个收件人发送电子邮件:

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

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

上面的代码将使用给定的 nodemailer transporter 向 recipient_email@example.com 发送电子邮件。邮件将包含一个名为 "Testing nodemailer" 的主题和一个简单的文本消息 "Hello World!"。

在上面的代码块中,我们使用 .sendMail() 方法传递一个包含电子邮件的对象。该对象应包含以下内容:

  • from:发送邮件的邮箱地址
  • to:收件人邮箱地址
  • subject:电子邮件主题
  • text:电子邮件正文

请注意,此方法是异步的,因此建议使用回调函数处理错误和成功信息。

发送 HTML 格式的邮件

nodemailer 还提供了一种方法 html 以 HTML 格式发送电子邮件。

以下代码演示如何以 HTML 格式发送电子邮件:

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

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

上面的代码将使用给定的 nodemailer transporter 向 recipient_email@example.com 发送电子邮件,电子邮件将在 HTML 格式中包含 "Hello World!" 和 "This is HTML email."。

发送附件

nodemailer 还支持添加附件到电子邮件中。以下代码演示如何向电子邮件添加附件:

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

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

在上面的代码中,我们使用 .attachments 属性向电子邮件添加名为 "image.jpg" 的附件。我们还通过 path 属性指定附件的路径。

总结

nodemailer 是一个可靠的 Node.js 库,用于发送电子邮件。它很容易与 Express.js 集成,并提供各种发送电子邮件以及添加 HTML 和附件的选项。

在本文中,我们演示了如何在 Express.js 中配置和使用 nodemailer 来发送电子邮件。如果您正在开发需要发送电子邮件的应用程序,nodemailer 可以是一个非常好的选择。

示例代码

完整的示例代码可在以下代码块中找到:

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

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

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

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

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

在上面的代码中,我们创建了一个 Express.js 应用程序,并通过访问 localhost:3000/send URL 发送电子邮件。请务必替换 your_email@gmail.comyour_password 以及 recipient_email@example.com 以适合您的配置。

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

纠错
反馈