在 Web 应用中,发送邮件是一项常见的功能之一。而在 Node.js 中,Nodemailer 是一个开源的邮件发送库。在 Express.js 中,我们可以很方便地使用 Nodemailer 发送邮件。在本文中,将向读者介绍如何在 Express.js 中使用 Nodemailer 发送邮件的技巧。
准备工作
在使用 Nodemailer 发送邮件之前,需要先安装它。可以使用 npm 安装 Nodemailer:
npm install nodemailer
发送普通邮件
使用 Nodemailer 发送普通邮件,只需几行代码即可完成。以下是一个示例代码:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----------- - ---------------------------- ----- ----------------- ----- ---- ------- ----- ----- - ----- ------- ----- ------ - --- ----- ----------- - - ----- ------- --- --------- -------- ------- ----- ---------- -- --------------------------------- ------- ----- -- - -- ------- - ------------------- - ---- - -------------------- - --------------- - ---
在这个例子中,使用 Gmail 的 SMTP 服务器发送邮件,并且需要提供发件人的邮箱和密码。如果你的 Gmail 帐号启用了两步验证,在此之前还需要为应用生成一个密码。邮件的内容包括收件人、主题和文本内容。当邮件发送成功时,将在控制台中输出一条消息。
发送带附件的邮件
发送带附件的邮件比较复杂,需要使用 Nodemailer 的 createTransport
和 mailOptions
方法。以下是一个示例代码:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----------- - ---------------------------- ----- ----------------- ----- ---- ------- ----- ----- - ----- ------- ----- ------ - --- ----- ----------- - - ----- ------- --- --------- -------- ------- ----- ----------- ------------ - - --------- ----------- -------- ---------- - - -- --------------------------------- ------- ----- -- - -- ------- - ------------------- - ---- - -------------------- - --------------- - ---
在这个例子中,需要在邮件选项中添加一个 attachments
属性,属性的值为一个数组,每个元素都是一个附件。每个附件对象包含一个 filename
属性和一个 content
属性,分别代表文件名和文件内容。当邮件发送成功时,将在控制台中输出一条消息。
发送 HTML 邮件
发送 HTML 邮件也比较简单,只需要将邮件内容设置为 HTML 格式,即可发送 HTML 邮件。以下是一个示例代码:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----------- - ---------------------------- ----- ----------------- ----- ---- ------- ----- ----- - ----- ------- ----- ------ - --- ----- ----------- - - ----- ------- --- --------- -------- ------- ----- ------------------- -- --------------------------------- ------- ----- -- - -- ------- - ------------------- - ---- - -------------------- - --------------- - ---
在这个例子中,将邮件内容设置为一个 HTML 标记,邮件将以 HTML 格式发送。当邮件发送成功时,将在控制台中输出一条消息。
小结
在本文中,我们介绍了如何在 Express.js 中使用 Nodemailer 发送邮件。我们向读者提供了三个示例代码,分别是发送普通邮件、发送带附件的邮件和发送 HTML 邮件。希望本文对读者有所帮助,特别是在构建 Web 应用时发送邮件功能的实现。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67821874935627c900f6cae8