本文将介绍如何在 Hapi.js 中使用 Nodemailer 发送电子邮件。Nodemailer 是一个流行的 Node.js 库,提供了一个简单的 API 用于发送邮件。
文章主要包括以下内容:
- 安装和配置 Nodemailer。
- 创建 Hapi.js 服务器。
- 添加电子邮件路由。
- 发送电子邮件。
- 完整示例代码。
安装和配置 Nodemailer
在开始之前,你需要在你的项目中安装 Nodemailer。你可以使用 npm 命令行:
npm install nodemailer
安装完成后,你需要从 Nodemailer 导入两个库:
const nodemailer = require('nodemailer'); const { htmlToText } = require('nodemailer-html-to-text');
这里我们还导入了一个优秀的 htmlToText 库,它可以将 HTML 邮件转换为纯文本格式的邮件。
接下来,你需要配置邮件传输选项。以下是一个基本的示例:
-- -------------------- ---- ------- ----- ----------- - ---------------------------- ----- ------------------- ----- ---- ------- ----- ----- - ----- -------------------- ----- ----------- -- ---
需要替换 host、user 和 pass 以匹配您的邮件服务器和凭据。
创建 Hapi.js 服务器
在开始发送电子邮件之前,你需要设置一个 Hapi.js 服务器。以下是一个很好的起点:
const Hapi = require('@hapi/hapi'); const server = Hapi.server({ port: 3000, host: 'localhost', });
添加电子邮件路由
在 Hapi.js 中,路由是一个确定 HTTP 请求应如何处理的描述。我们将创建一个邮件路由作为发送电子邮件的入口点。
使用 server.route()
函数添加一个新的路由:
server.route({ method: 'POST', path: '/email', handler: async (request, h) => { // 添加发送电子邮件代码 }, });
发送电子邮件
下一步是实际发送电子邮件。这里是一个简单的示例:
-- -------------------- ---- ------- ----- - --- -------- ----- ---- - - ---------------- --- - ----- ---------------------- ----- -------------------- --- --- -------- -------- ----- ----- ----- ----- --- ----------------- ----- -- -------- ------ - -------- ------ ----- -- - ----- ------- - --------------------- ------ - ------ ------ ------- ------ -- -
在这个示例中,我们从请求提取 to
、subject
、text
和 html
,并将它们作为参数传递给 transporter.sendMail()
函数。你可以根据你的特定要求修改这些参数。
如果邮件发送成功,控制台将记录日志。如果发送电子邮件出现问题,将返回错误消息。
完整示例代码
以下是完整的示例代码,可以将其复制粘贴到您的项目中并进行适当的更改:
-- -------------------- ---- ------- ----- ---- - ---------------------- ----- ---------- - ---------------------- ----- - ---------- - - ----------------------------------- ----- ----------- - ---------------------------- ----- ------------------- ----- ---- ------- ----- ----- - ----- -------------------- ----- ----------- -- --- ----- ---- - ----- -- -- - ----- ------ - ------------- ----- ----- ----- ------------ --- -------------- ------- ------- ----- --------- -------- ----- --------- -- -- - ----- - --- -------- ----- ---- - - ---------------- --- - ----- ---------------------- ----- -------------------- --- --- -------- -------- ----- ----- ----- ----- --- ----------------- ----- -- -------- ------ - -------- ------ ----- -- - ----- ------- - --------------------- ------ - ------ ------ ------- ------ -- - -- --- ----- --------------- ------------------- ------- -- --------------------- -- -------------------------------- ----- -- - ----------------- ---------------- --- -------
总结
在 Hapi.js 中使用 Nodemailer 发送电子邮件非常简单。在本文中,我们涵盖了如何安装和配置 Nodemailer、如何创建一个 Hapi.js 服务器、如何添加电子邮件路由,以及如何发送电子邮件。你可以使用本文作为入门指南,并根据你的特定要求进行修改。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645f29bf968c7c53b013ebbd