Node.js使用nodemailer发送邮件及附件完整指南

作者:接口漫谈

时间:2026-10-23

浏览:275

本文介绍如何在Node.js项目中使用nodemailer模块(版本2.5.0)配置QQ邮箱发送电子邮件。详细讲解了获取POP3/SMTP授权码的步骤,提供了基础文本/HTML邮件发送代码,并演示了如何添加附件实现文件传输功能,包含完整的后端实现示例。

文章目录

nodemailer模块介绍与安装

nodemailer是nodejs中的邮件发送模块,本文使用的版本为2.5.0

安装该模块


npm install nodemailer

通过npm下载模块后,在项目中引入就可以使用: var nodemailer = require('nodemailer');

QQ邮箱授权码获取

以QQ邮箱为例.

获取授权码

进入QQ个人邮箱, 设置-账户-开启服务POP3/SMTP服务,并生成授权码,现在获取授权码需要验证手机号等.

nodemailer模块介绍与安装

基础邮件发送实现

后端代码


var nodemailer = require('nodemailer'); 
var transporter = nodemailer.createTransport({ 
 service: 'qq', 
 auth: { 
  user: '527828938@qq.com', 
  pass: 'ugxovfwhvxxxxxx' //授权码,通过QQ获取 
 
 } 
 }); 
 var mailOptions = { 
  from: '527828938@qq.com', // 发送者 
  to: '452076103@qq.com', // 接受者,可以同时发送多个,以逗号隔开 
  subject: 'nodemailer2.5.0邮件发送', // 标题 
  //text: 'Hello world', // 文本 
  html: `<h2>nodemailer基本使用:</h2>`  
 }; 
 
 transporter.sendMail(mailOptions, function (err, info) { 
  if (err) { 
   console.log(err); 
   return; 
  } 
 
  console.log('发送成功'); 
 }); 

运行结果

nodemailer模块介绍与安装

邮件附件发送功能

发送附件


var transporter = nodemailer.createTransport({ 
 service: 'qq', 
 auth: { 
  user: '527828938@qq.com', 
  pass: 'ugxovfwhvxypxxxx' 
 } 
 }); 
 var mailOptions = { 
  from: '527828938@qq.com', // 发送者 
  to: '452076103@qq.com', // 接受者,可以同时发送多个,以逗号隔开 
  subject: 'nodemailer2.5.0邮件发送', // 标题 
  //text: 'Hello world', // 文本 
  html: `<h2>nodemailer基本使用:</h2>`, 
  attachments:[ 
   { 
    filename : 'package.json', 
    path: './package.json' 
   }, 
   { 
    filename : 'content', 
    content : '发送内容' 
   } 
  ] 
 }; 
 
 transporter.sendMail(mailOptions, function (err, info) { 
  if (err) { 
   console.log(err); 
   return; 
  } 
 
  console.log('发送成功'); 
 }); 

运行结果

nodemailer模块介绍与安装

将附件下载下来,打开

nodemailer模块介绍与安装

这个发送附件应该算个不错的功能.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章