在现代 Web 应用程序中,电子邮件是一个不可或缺的组成部分。它可以用于用户注册、密码重置、通知等等。在 Node.js 中,可以使用 Nodemailer 模块方便地发送电子邮件。本文将介绍如何在 Express.js 应用程序中使用 Nodemailer 发送电子邮件。
安装 Nodemailer
使用 Nodemailer 发送电子邮件需要先安装 Nodemailer 模块。可以使用 npm 命令进行安装:
npm install nodemailer
配置 Nodemailer
在应用程序中使用 Nodemailer 发送电子邮件需要配置 SMTP 服务器。可以使用 Gmail、Yahoo 等电子邮件服务提供商的 SMTP 服务器,也可以使用自己的 SMTP 服务器。以下是一个使用 Gmail SMTP 服务器的示例配置:
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----------- - ---------------------------- -------- -------- ----- - ----- ----------------------- ----- --------------- - ---
在上面的代码中,使用 nodemailer.createTransport()
方法创建了一个邮件传输对象 transporter
。service
属性指定了使用的电子邮件服务提供商,auth
属性指定了 SMTP 服务器的用户名和密码。
发送电子邮件
发送电子邮件可以使用 transporter.sendMail()
方法。以下是一个发送电子邮件的示例代码:
-- -------------------- ---- ------- ----- ----------- - - ----- ----------------------- --- ------------------------------ -------- ----- ------- ----- ------- ---- -- - ---- ----- ---- ------------ -- --------------------------------- ------- ----- -- - -- ------- - --------------------- - ---- - ------------------ ----- - - --------------- - ---
在上面的代码中,定义了一个 mailOptions
对象,包含了发送邮件的相关信息,例如发件人、收件人、主题和正文。然后使用 transporter.sendMail()
方法发送电子邮件。如果发送成功,将在控制台输出 Email sent: <message_id>
。
发送 HTML 邮件
Nodemailer 还支持发送 HTML 格式的电子邮件。以下是一个发送 HTML 邮件的示例代码:
-- -------------------- ---- ------- ----- ----------- - - ----- ----------------------- --- ------------------------------ -------- ----- ------- ----- ----------------------- -- - ---- ----- ---- ----------------------- -- --------------------------------- ------- ----- -- - -- ------- - --------------------- - ---- - ------------------ ----- - - --------------- - ---
在上面的代码中,mailOptions
对象的 html
属性指定了 HTML 格式的正文。当收件人使用支持 HTML 的电子邮件客户端查看邮件时,将显示 HTML 格式的内容。
发送附件
Nodemailer 还支持发送附件。以下是一个发送附件的示例代码:
-- -------------------- ---- ------- ----- ----------- - - ----- ----------------------- --- ------------------------------ -------- ----- ----- ---- ------------ ----- ------- ---- -- - ---- ----- ---- ------------- ------------ - - --------- ----------- -------- ----- -- - ---- ------ - - -- --------------------------------- ------- ----- -- - -- ------- - --------------------- - ---- - ------------------ ----- - - --------------- - ---
在上面的代码中,mailOptions
对象的 attachments
属性指定了要发送的附件。可以指定多个附件,每个附件包含一个文件名和内容。
总结
本文介绍了如何在 Express.js 应用程序中使用 Nodemailer 发送电子邮件。首先需要安装 Nodemailer 模块,并配置 SMTP 服务器。然后可以使用 transporter.sendMail()
方法发送电子邮件。还介绍了如何发送 HTML 邮件和附件。希望本文能够帮助读者更好地使用 Nodemailer 发送电子邮件。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65ce31c3add4f0e0ff74c0ee