使用 Nodemailer 发送电子邮件:Node.js 指南

阅读时长 4 分钟读完

在现代化的 Web 应用程序中,发送电子邮件是一个非常常见的任务。无论是发送确认电子邮件、密码重置电子邮件还是其他类型的电子邮件,Nodemailer 是一个非常流行和强大的 Node.js 库,它可以帮助我们轻松地发送电子邮件。

安装 Nodemailer

在开始使用 Nodemailer 之前,我们需要先安装它。通过 npm 可以很容易地安装 Nodemailer,只需在终端中运行以下命令即可:

发送简单的电子邮件

使用 Nodemailer 发送电子邮件非常简单。以下是一个简单的示例代码,它可以将电子邮件发送到指定的收件人:

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

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

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

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

在上面的代码中,我们首先创建了一个发送邮件的传输对象。在这个传输对象中,我们使用了 Gmail 作为邮件服务提供商,并提供了我们的 Gmail 邮箱地址和密码进行身份验证。

接下来,我们设置了邮件的基本信息,包括邮件的发送者、接收者、主题和正文。最后,我们使用 transporter.sendMail() 方法发送电子邮件。如果邮件发送成功,我们将在控制台上打印一条消息。

发送带附件的电子邮件

除了发送简单的电子邮件之外,Nodemailer 还支持发送带附件的电子邮件。以下是一个示例代码,它可以将带有附件的电子邮件发送到指定的收件人:

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

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

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

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

在上面的代码中,我们在邮件选项中添加了一个名为 attachments 的属性,它是一个数组,包含了所有要发送的附件的信息。每个附件都是一个对象,包含了附件的文件名和路径。

结论

在本文中,我们介绍了如何使用 Nodemailer 发送电子邮件。我们了解了如何安装 Nodemailer、如何发送简单的电子邮件以及如何发送带附件的电子邮件。希望本文可以帮助你更好地了解如何使用 Nodemailer 发送电子邮件,从而为你的 Web 应用程序带来更好的用户体验。

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

纠错
反馈