在开发 Web 应用程序时,发送电子邮件是一项经常使用的任务,例如,向用户发送帐户验证电子邮件或密码重置电子邮件。Express.js 是一种流行的服务器端 JavaScript 框架,而 nodemailer 是一个可靠的 Node.js 库,用于发送电子邮件。
在本文中,我们将介绍如何在 Express.js 中使用 nodemailer 库来发送电子邮件。
安装 nodemailer
在使用 nodemailer 之前,我们需要将其安装为项目的依赖项。可以通过 NPM 使用以下命令进行安装:
npm install nodemailer
配置 nodemailer
在配置 nodemailer 之前,我们需要使用邮箱提供商提供的凭据,如 SMTP 主机,SMTP 端口,SMTP 用户名和 SMTP 密码。
以下是一个示例 Gmail 邮箱配置:
-- -------------------- ---- ------- ----- ---------- - ---------------------- --- ----------- - ---------------------------- ----- ----------------- ----- ---- ------- ------ ----- - ----- ----------------------- ----- --------------- - ---
在上面的代码中,我们使用 Gmail 的 SMTP 主机和端口,并提供我们的 Gmail 帐户的用户名和密码。
发送邮件
现在我们已经配置了 nodemailer,我们可以通过使用其 .sendMail()
方法来发送电子邮件。
以下代码演示如何向一个收件人发送电子邮件:
-- -------------------- ---- ------- ----- ------- - - ----- ----------------------- --- ------------------------------ -------- -------- ------------ ----- ------ ------- -- ----------------------------- ----- ----- -- - -- ----- ----- ---- -------------------- ----- ---- ---------------- ---
上面的代码将使用给定的 nodemailer transporter 向 recipient_email@example.com 发送电子邮件。邮件将包含一个名为 "Testing nodemailer" 的主题和一个简单的文本消息 "Hello World!"。
在上面的代码块中,我们使用 .sendMail()
方法传递一个包含电子邮件的对象。该对象应包含以下内容:
from
:发送邮件的邮箱地址to
:收件人邮箱地址subject
:电子邮件主题text
:电子邮件正文
请注意,此方法是异步的,因此建议使用回调函数处理错误和成功信息。
发送 HTML 格式的邮件
nodemailer 还提供了一种方法 html
以 HTML 格式发送电子邮件。
以下代码演示如何以 HTML 格式发送电子邮件:
-- -------------------- ---- ------- ----- ------- - - ----- ----------------------- --- ------------------------------ -------- ----- ----- ---- ------------ ----- ---------- ------------------ -- ---- ----------- -- ----------------------------- ----- ----- -- - -- ----- ----- ---- -------------------- ----- ---- ---------------- ---
上面的代码将使用给定的 nodemailer transporter 向 recipient_email@example.com 发送电子邮件,电子邮件将在 HTML 格式中包含 "Hello World!" 和 "This is HTML email."。
发送附件
nodemailer 还支持添加附件到电子邮件中。以下代码演示如何向电子邮件添加附件:
-- -------------------- ---- ------- ----- ------- - - ----- ----------------------- --- ------------------------------ -------- ------ ---- ------------ ------------ - - --------- ------------ ----- -------------------- - -- ----- ------- --- ---------- --- ------ -- ----------------------------- ----- ----- -- - -- ----- ----- ---- -------------------- ----- ---- ---------------- ---
在上面的代码中,我们使用 .attachments
属性向电子邮件添加名为 "image.jpg" 的附件。我们还通过 path
属性指定附件的路径。
总结
nodemailer 是一个可靠的 Node.js 库,用于发送电子邮件。它很容易与 Express.js 集成,并提供各种发送电子邮件以及添加 HTML 和附件的选项。
在本文中,我们演示了如何在 Express.js 中配置和使用 nodemailer 来发送电子邮件。如果您正在开发需要发送电子邮件的应用程序,nodemailer 可以是一个非常好的选择。
示例代码
完整的示例代码可在以下代码块中找到:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ---------------------- ----- --- - ---------- ----- ----------- - ---------------------------- ----- ----------------- ----- ---- ------- ------ ----- - ----- ----------------------- ----- --------------- - --- ---------------- ----- ---- -- - ----- ------- - - ----- ----------------------- --- ------------------------------ -------- -------- ------------ ----- ------ ------- -- ----------------------------- ----- ----- -- - -- ----- ----- ---- -------------------- ----- ---- ---------------- -------------- ---- ---------------- --- --- ---------------- -- -- - ------------------- ------- -- ---- ------- ---
在上面的代码中,我们创建了一个 Express.js 应用程序,并通过访问 localhost:3000/send
URL 发送电子邮件。请务必替换 your_email@gmail.com
和 your_password
以及 recipient_email@example.com
以适合您的配置。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b0b9f9add4f0e0ffa132b9