npm 包 nodemailer-plugin-sign-s3-attachment-urls 使用教程

阅读时长 5 分钟读完

在 Web 开发中,发送邮件是非常常见的操作。nodemailer-plugin-sign-s3-attachment-urls 是一个 npm 包,可以让我们在发送邮件时,将附件上传到 Amazon S3 中,并自动签名 URL,让收件人能够下载附件。

本篇文章将会教你如何使用 nodemailer-plugin-sign-s3-attachment-urls,包括安装依赖、配置 AWS S3 和邮箱账户,以及给出一些示例代码。

安装依赖

首先,我们需要安装 nodemailer-plugin-sign-s3-attachment-urls 以及其依赖 nodemailer 和 aws-sdk:

配置 AWS S3

在使用 nodemailer-plugin-sign-s3-attachment-urls 前,我们需要配置 AWS S3。我们需要一个存储桶(bucket)以及相应的访问密钥(access key)和密钥(secret key)。

创建存储桶

在 AWS S3 控制台中,选择“创建存储桶”。输入桶名称、选择区域,然后创建即可。

创建 IAM 用户

在 AWS IAM 控制台中,选择“创建用户”。为该用户添加属性,选择编程访问,然后授权 S3。

获取访问密钥和密钥

在创建 IAM 用户后,可以在该用户的页面中获取访问密钥和密钥。

配置邮箱账户

在使用 nodemailer-plugin-sign-s3-attachment-urls 发送邮件前,需要配置一个邮箱账户。以 Gmail 为例,我们需要配置以下信息:

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

其中,user 和 pass 分别为你的 Gmail 邮箱地址和密码。

使用 nodemailer-plugin-sign-s3-attachment-urls

npm 包 nodemailer-plugin-sign-s3-attachment-urls 可以作为 nodemailer 的 plugin 来使用。我们需要初始化 nodemailer,并添加 signS3AttachmentUrls 插件。

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

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

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

这里我们在邮件发送前使用了 compile hook,将上传并签名好的 URL 添加到附件列表中。

接下来,我们可以定义邮件内容:

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

这里我们定义了邮件的 “from”、”to”、”subject” 等信息,以及上传的附件的路径。

最后,我们发送这个邮件:

这里我们调用 transporter.sendMail 方法发送邮件,如果发送成功,可在控制台中看到 info 信息。

结语

本篇文章介绍了如何使用 npm 包 nodemailer-plugin-sign-s3-attachment-urls 在邮件中添加 Amazon S3 签名附件,让接收者可安全下载。我们了解了如何配置 AWS S3 和邮箱账户,以及如何使用 nodemailer-plugin-sign-s3-attachment-urls 的示例代码。希望这些内容能有深度和学习以及指导意义,帮助你更好的开发 Web 项目。

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

纠错
反馈