node下的nodemail 发送邮件的一些问题

var nodemailer =require('nodemailer');
var Email ={
     
	config: {
     
		host: 'smtp.163.com',
		port: 25,//587
		auth: {
     
			user: '[email protected]',//发件人
			pass: 'BLUAULPNRDRFGKSJ'//密钥
		}
	},
	get transporter(){
     
		return nodemailer.createTransport(this.config);
	},
	get verify(){
     
		return Math.random().toString().substring(2,6);
	}
};

module.exports={
     
	Email
};
var {
     Email} = require('../untils/config.js');
var verify =async (req,res,next)=>{
     
	
	var email = req.query.email;
	
	var mailOptions = {
     
	    from: '[email protected]', // sender address发件人
	    to: email, // list of receivers
	    subject: "喵喵验证码", // Subject line标题
	    text: '验证码:'+ Email.verify // plain text body内容
 	 };

 	 Email.transporter.sendMail(mailOptions,(err)=>{
     
 	 	if(err){
     
			res.send({
     
				msg:'验证码发送失败',
				status:-1
			});
 	 	}else{
     
			res.send({
     
				msg:'验证码已发送',
				status:0
			});
 	 	}
 	 })	
};
module.exports={
     
	verify
}

一个坑
host 和port要对应
nodemail文档的port是587 对应的是别的邮箱的
然而网易163邮箱的port是这样的
node下的nodemail 发送邮件的一些问题_第1张图片
host和port对应就可以成功运行了

你可能感兴趣的:(node.js)