nodejs模块nodemailer基本使用-邮件发送(支持附件)

来源:互联网 发布:python 字符串相似度 编辑:程序博客网 时间:2024/06/06 17:55

转自 http://blog.csdn.net/zzwwjjdj1/article/details/51878392

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

--下载模块

npm install nodemailer

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

以QQ邮箱为例.

--获取授权码

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


--后端代码

[javascript] view plain copy
  1. var nodemailer = require('nodemailer');  
  2. var transporter = nodemailer.createTransport({  
  3.   service: 'qq',  
  4.   auth: {  
  5.     user: '527828938@qq.com',  
  6.     pass: 'ugxovfwhvxxxxxx' //授权码,通过QQ获取  
  7.   
  8.   }  
  9.   });  
  10.   var mailOptions = {  
  11.     from: '527828938@qq.com'// 发送者  
  12.     to: '452076103@qq.com'// 接受者,可以同时发送多个,以逗号隔开  
  13.     subject: 'nodemailer2.5.0邮件发送'// 标题  
  14.     //text: 'Hello world', // 文本  
  15.     html: `<h2>nodemailer基本使用:</h2><h3>  
  16.     <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  
  17.     http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`   
  18.   };  
  19.   
  20.   transporter.sendMail(mailOptions, function (err, info) {  
  21.     if (err) {  
  22.       console.log(err);  
  23.       return;  
  24.     }  
  25.   
  26.     console.log('发送成功');  
  27.   });  

--运行结果


--发送附件

[javascript] view plain copy
  1. var transporter = nodemailer.createTransport({  
  2.   service: 'qq',  
  3.   auth: {  
  4.     user: '527828938@qq.com',  
  5.     pass: 'ugxovfwhvxypxxxx'  
  6.   }  
  7.   });  
  8.   var mailOptions = {  
  9.     from: '527828938@qq.com'// 发送者  
  10.     to: '452076103@qq.com'// 接受者,可以同时发送多个,以逗号隔开  
  11.     subject: 'nodemailer2.5.0邮件发送'// 标题  
  12.     //text: 'Hello world', // 文本  
  13.     html: `<h2>nodemailer基本使用:</h2><h3>  
  14.     <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  
  15.     http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`,  
  16.     attachments:[  
  17.       {  
  18.         filename : 'package.json',  
  19.         path: './package.json'  
  20.       },  
  21.       {  
  22.         filename : 'content',  
  23.         content : '发送内容'  
  24.       }  
  25.     ]  
  26.   };  
  27.   
  28.   transporter.sendMail(mailOptions, function (err, info) {  
  29.     if (err) {  
  30.       console.log(err);  
  31.       return;  
  32.     }  
  33.   
  34.     console.log('发送成功');  
  35.   });  

--运行结果


将附件下载下来,打开


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


可参考 http://www.jianshu.com/p/ee200a67853c

原创粉丝点击