npm 包 @fabrix/spool-email 使用教程

阅读时长 7 分钟读完

介绍

@fabrix/spool-email 是一个基于 Node.js 平台的邮件发送工具。它利用了 Node.js 强大的异步编程特性,能够高效地发送邮件。除了普通的文本邮件,它还支持发送 HTML、附件和内嵌图片。@fabrix/spool-email 的安装和使用非常简单,它提供了易于使用的 API,可以轻松地集成到你的 Node.js 应用中。

安装

使用 npm 命令进行安装:

配置

在使用 @fabrix/spool-email 之前,你需要先进行一些配置,包括 SMTP 服务器的地址、用户名、密码等信息。在你的 Fabrix 应用的 config 目录下新建一个邮件配置文件 mail.ts,并添加如下的配置信息:

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

这里使用的是 QQ 邮箱 SMTP 服务器,你需要将邮件地址和密码修改为你自己的信息。如果你使用其他邮箱,请查阅相关 SMTP 服务器信息并进行相应的配置。

发送邮件

通过 @fabrix/spool-email 发送邮件非常简单,只需要调用 send 函数并传递相应的参数即可。以下代码发送一封简单的文本邮件:

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

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

在上面的代码中,我们调用了 EmailService.send 函数并传递了邮件信息的参数,包括发件人、收件人、主题和内容等。发送邮件的结果会在函数返回的 Promise 中通过 resolve 或 reject 进行返回。如果邮件发送成功,则打印 "Email sent.";如果出现错误,则打印错误信息。

发送 HTML 邮件

除了发送普通的文本邮件,@fabrix/spool-email 还支持发送 HTML 格式的邮件。以下代码演示了如何发送 HTML 邮件:

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

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

在上述代码中,我们将内容参数由 text 改为了 html,并在内容中添加了 HTML 标签。这样发送出去的邮件就会以 HTML 的格式呈现。发送邮件的方式和文本邮件相同。你可以将任何合法的 HTML 代码作为内容参数传递进去。

发送带附件的邮件

@fabrix/spool-email 支持发送带附件的邮件。以下代码演示了如何发送带附件的邮件:

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

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

在上述代码中,我们在邮件信息参数中添加了一个 attachments 数组,用于指定附件的信息。每个附件都以一个对象的形式传递,包含文件名和文件内容等信息。这里我们添加了一个名为 test.txt 的附件,并将其内容设置为 "This is a test file."。当邮件发送成功时,"@fabrix/spool-email" 会将附件添加到邮件中并发送出去。

发送内嵌图片的邮件

@fabrix/spool-email 支持发送内嵌图片的邮件。以下代码演示了如何发送内嵌图片的邮件:

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

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

在上述代码中,我们在邮件信息参数中添加了一个 attachments 数组,用于指定图片的信息。每个图片都以一个对象的形式传递,包含文件名、路径和 CID(Content-ID)等信息。这里我们添加了一个名为 test.png 的图片,并将其嵌入到 HTML 内容中。当邮件发送成功时,"@fabrix/spool-email" 会将图片添加到邮件并通过 CID 引用。

结论

本文介绍了 "@fabrix/spool-email" 的基本使用方法,包括普通文本邮件、HTML 邮件、附件邮件和内嵌图片邮件。希望本文对你了解该工具的使用有所帮助。

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