在 Express.js 中使用 NodeMailer 发送带附件的电子邮件的方法

阅读时长 4 分钟读完

随着电子邮件的广泛应用,越来越多的应用程序需要能够发送电子邮件。Node.js 作为一种非常受欢迎的后端技术,能够提供非常好的邮件解决方案。NodeMailer 是一种非常好用的 Node.js 库,它提供了许多功能,可以方便的发送电子邮件,包括发送带有附件的电子邮件。

安装 NodeMailer

要在 Express.js 中使用 NodeMailer,首先需要安装 NodeMailer。可以使用 npm 进行安装。

配置邮件信息

在发送电子邮件之前,需要配置 SMTP 信息,这里我们以 Gmail 为例。使用以下代码来配置邮件信息:

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

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

不要忘记将 your_email_addressyour_email_password 替换为您的 Gmail 邮箱地址和登录密码。

发送邮件

现在可以使用 NodeMailer 来发送电子邮件。以下是一段示例代码,其中将会发送带有附件的电子邮件:

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

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

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

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

在上面的代码中,我们使用 Express.js 创建了一个路由来发送电子邮件。通过 GET 请求 /send-email,发送以下邮件信息:

  • From:发送邮件的 Gmail 邮箱地址。
  • To:接收方的电子邮件地址。
  • Subject:电子邮件的主题。
  • Text:电子邮件的正文。
  • Attachments:带有一个附件,自定义文件名为 test.txt。

如上述代码所示,通过 nodemailer.createTransport 创建传输器对象,然后调用 transporter.sendMail 方法来发送电子邮件。

如果电子邮件发送成功,则会在控制台中输出 "Email sent: " + info.response,并向发送请求的客户端发送成功的响应;否则,输出错误并向客户端发送错误响应。

总结

将 NodeMailer 与 Express.js 应用程序结合使用可以方便地发送电子邮件,并且发送带附件的电子邮件同样简单。本文提供的示例代码可供参考并作为一种通用的 Node.js 解决方案,请根据您的实际需求进行修改或定制化。

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

纠错
反馈