Node.js 使用 nodemailer 库发送电子邮件完整指南

作者:墨池

时间:2026-10-30

浏览:421

本文详细介绍如何在 Node.js 环境中使用 nodemailer 库实现邮件发送功能。内容涵盖库的安装、SMTP 传输对象(Transporter)的关键参数配置,包括端口、主机及认证信息,以及 sendMail 方法的使用。文章还解析了回调函数中错误与成功信息的处理,帮助开发者快速掌握 Node.js 邮件发送的核心步骤。

文章目录

Node.js 邮件发送配置与使用指南

配置准备

首先,需要安装 nodemailer 库。


npm install nodemailer//默认会安装最新的版本。

关于该库的详细文档,请参考 nodemailer 官方文档。

库的使用介绍

该库的使用方法十分简洁。首要步骤是创建一个用于发送邮件的实例。


var transporter = nodemailer.createTransport(transport[, defaults])

transport 参数属性说明

由于属性众多,此处仅列举关键属性。

port:连接的端口号,通常设置为 465。

host:发送邮件的服务器的域名,例如 163 邮箱的 host 为 smtp.163.com。

auth:这是与旧版本不同的地方。新版本使用对象字面量来存储用户名和密码。请注意,你的邮箱必须开启 SMTP 服务。

user:用户名。

pass:密码。如果 163 邮箱设置了第三方登录密码,此处应填写该第三方登录密码。

完成上述设置后即可使用。以下展示具体的配置代码。


var smtpConfig = {
 host: 'smtp.163.com',
 port: 465,
 auth: {
  user: 'xxxx',
  pass: 'xxxx'
 }
};
var transporter = nodemailer.createTransport(smtpConfig);

具体使用步骤

现在,我们可以使用以下函数来发送邮件。


transporter.sendMail(data[, callback])

data:邮件内容对象。

from:邮件的发件人地址。

to:邮件的收件人地址。

subject:邮件主题。

text:指定以纯文本方式发送邮件。

html:指定邮件内容为 HTML 格式,呈现网页效果。

attachments:附件列表。详细信息可查阅官方文档。

callback:回调函数。

该回调函数接受两个参数 err 和 info。

err:错误对象。

如果发送失败,可以打印该对象以查看相关信息。

info:发送状态信息。

可以查看许多关于发送状态的信息。

messageID:返回信息的 messageID 值,具体含义尚不明确。

accepted:一个数组,包含服务器成功接收的邮件地址。

rejected:意义与 accepted 相反,包含被服务器拒绝的邮件地址。

完成上述配置和代码编写后,即可成功发送邮件。


var sendmail = function(html){
 var option = {
  from:"sender",
  to:"accepter",
  subject : '来自node的邮件',
  html : html
 }
 transporter.sendMail(option, function(error, response){
  if(error){
   console.log("fail: " + error);
  }else{
   console.log("success: " + response.messageID);
  }
 });
}

sendmail("邮件内容:<br/>这是来自nodemailer发送的邮件");

总结

以上是利用 Node.js 实现邮件发送功能的全部内容。希望本文的内容对大家学习或使用 Node.js 有所帮助,如有任何疑问,欢迎留言交流。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章