node发送邮件
Posted 张书达
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node发送邮件相关的知识,希望对你有一定的参考价值。
app.js
//发送邮件
var nodemailer = require(‘nodemailer‘);
var transporter = nodemailer.createTransport({
service: ‘qq‘,
auth: {
user: ‘[email protected]‘,
pass: ‘XXXXXXXXXXXXX‘ //授权码,通过QQ获取
}
});
var mailOptions = {
from: ‘[email protected]‘, // 发送者
to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开
subject: ‘nodemailer2.5.0邮件发送‘, // 标题
//text: ‘Hello world‘, // 文本
html: `<h2>nodemailer基本使用:</h2><h3>
<a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">
http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`
};
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log(‘发送成功‘);
});
app1.js
//发送附件
var nodemailer = require(‘nodemailer‘);
var transporter = nodemailer.createTransport({
service: ‘qq‘,
auth: {
user: ‘[email protected]‘,
pass: ‘XXXXXXXXXXX‘ //授权码,通过QQ获取
}
});
var mailOptions = {
from: ‘[email protected]‘, // 发送者
to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开
subject: ‘nodemailer2.5.0邮件发送‘, // 标题
//text: ‘Hello world‘, // 文本
html: `<h2>nodemailer基本使用:</h2><h3>
<a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">
http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`,
attachments:[
{
filename : ‘package.json‘,
path: ‘./package.json‘
},
{
filename : ‘content‘,
content : ‘发送内容‘
}
]
};
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.log(err);
return;
}
console.log(‘发送成功‘);
});
nodejs模块nodemailer基本使用-邮件发送(支持附件)
2016-07-11 10:00 7065人阅读 评论(3) 收藏 举报
分类:
nodejs(50)
版权声明:本文为 zzwwjjdj1(意外金喜) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。
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: ‘[email protected]‘,
6. pass: ‘ugxovfwhvxxxxxx‘ //授权码,通过QQ获取
7.
8. }
9. });
10. var mailOptions = {
11. from: ‘[email protected]‘, // 发送者
12. to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开
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: ‘[email protected]‘,
5. pass: ‘ugxovfwhvxypxxxx‘
6. }
7. });
8. var mailOptions = {
9. from: ‘[email protected]‘, // 发送者
10. to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开
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. });
--运行结果
将附件下载下来,打开
/**
* 设置邮件内容
* @type {string}
*/
var subject = ‘‘; // 标题
var text = ‘‘ ;
var html = ‘‘; // 邮件内容
/**
* 创建服务
*/
var transporter = nodemailer.createTransport({
service: ‘qq‘,
port: 465, // SMTP 端口
secureConnection: true, // 使用 SSL
auth: {
user: blogSystem.user, //发件人
pass: blogSystem.pass //smtp密码
}
});
/**
* 设置参数
* @type {{from: string, to: string, subject: string, text: string, html: string}}
*/
var mailOptions = {
from: blogSystem.user, // 发件地址
to: email, // 收件列表
subject: subject, // 标题
//text和html两者只支持一种
text: text, // 标题
html: html // html 内容
};
/**
* 发送邮件
*/
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log(‘Message sent: ‘ + info.response);
});
这个发送附件应该算个不错的功能.
以上是关于node发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出