昨天就开始想使用nodemailer来实现一个发送邮件的功能,不过发现了很多个坑,网上给的资料也很杂很乱,所以决定写一篇真正能用的来帮助大家减少弯路
)
写了一个小demo
var nodemailer = require('nodemailer')
var transport = nodemailer.createTransport({
host:'smtp.qq.com',//主机
secureConnection:true,//使用ssl
port:465,//stmp端口号,必须使用465
auth:{
user:'***@qq.com',//账号
pass:'***', //授权码
}
})
var mailOptions = {
from:'***@qq.com',//你的邮箱
to:'***@163.com',//收件人,邮箱不限制
subject:'Hello',//标题
text:"hello", //纯文本
html:'<b>Hello</b>',
attachments:[{
filename:'text',
path:"app.js"//文件路径
},
{
filename:'text1', //文件名
content:"text",//文件内容,自己写
}
]
}
transport.sendMail(mailOptions,function(err,response){
if(err) console.log(err)
else console.log(response)
})
首先,我们先来看下代码,如上所示.
步骤:
1.下载npm包: npm install nodemailer --save
2.编写类似于以上的代码:在这里面,我使用smtp来登陆我的邮箱,利用nodemailer.createTransporter来创建连接
3.编写邮件内容,邮件各个属性的意义看注释
4.利用transport.sendMail函数来发送邮件.
常见错误:
如果使用QQ邮箱的话,你的密码应该是授权码。首先你得开启SMTP服务,步骤如下:
1.打开你的QQ邮箱
2.点击设置,并且选择账户
3.往下拉,找到第一个,POP3/SMTP,点击开启
4.开启成功后,点击生成授权码
5.得到授权码后,pass对应的是授权码,将其填入即可.