mirror of https://github.com/IoTcat/chat.git
parent
f0b1578cd0
commit
80ae501705
15 changed files with 329 additions and 82 deletions
@ -0,0 +1,40 @@ |
||||
var express = require('express'); |
||||
var router = express.Router(); |
||||
var mongoose = require('mongoose'); |
||||
var utils = require('../utils/utils.js'); |
||||
var mail = require('../utils/mail.js'); |
||||
require('../../model/user.server.module.js'); |
||||
var User = mongoose.model('User'); |
||||
|
||||
/* GET home page. */ |
||||
router.get('/forget', function(req, res) { |
||||
res.send("请求资源不支持HTTP方法GET访问!"); |
||||
}); |
||||
|
||||
router.post('/forget', function(req, res) { |
||||
User.findOne({ |
||||
email: req.body.email |
||||
}, function(err, result) { |
||||
if (err) { |
||||
utils.sendJson(res, 404, err); |
||||
} else { |
||||
if (result) { |
||||
var subject = '恣意游用户重置密码'; |
||||
var url = req.protocol + "://" + req.get('host') + '/login?uid=' + result.uid; |
||||
var html = '<p>亲爱的用户:</p><br/><p>感谢您使用恣意游重置密码功能.</p><p>请点击以下链接完成重置功能</p>'; |
||||
html += '<p><a href="' + url + '">' + url + '</a></p>'; |
||||
mail.sendMail(req.body.email, subject, html, function(result) { |
||||
if (result.status == 200) { |
||||
utils.sendJson(res, 200, result.message); |
||||
} else { |
||||
utils.sendJson(res, 404, result.message); |
||||
} |
||||
}) |
||||
} else { |
||||
utils.sendJson(res, 404, '该邮箱地址暂未注册'); |
||||
} |
||||
} |
||||
}) |
||||
}); |
||||
|
||||
module.exports = router; |
@ -0,0 +1,42 @@ |
||||
var express = require('express'); |
||||
var router = express.Router(); |
||||
var mongoose = require('mongoose'); |
||||
var utils = require('../utils/utils.js'); |
||||
require('../../model/user.server.module.js'); |
||||
var User = mongoose.model('User'); |
||||
|
||||
/* GET home page. */ |
||||
router.get('/reset', function(req, res) { |
||||
res.send("请求资源不支持HTTP方法GET访问!"); |
||||
}); |
||||
|
||||
router.post('/reset', function(req, res) { |
||||
User.update({ |
||||
uid: req.body.uid |
||||
}, { |
||||
$set: { |
||||
password: req.body.password |
||||
} |
||||
}, {}, function(err, result) { |
||||
if (err) { |
||||
utils.sendJson(res, 404, err); |
||||
} else { |
||||
var resultObj = JSON.parse(JSON.stringify(result)); |
||||
console.log(resultObj); |
||||
if (resultObj.nModified == 0) { |
||||
utils.sendJson(res, 404, '用户不存在'); |
||||
} else { |
||||
User.findOne({ |
||||
uid: req.body.uid |
||||
}, function(err, result) { |
||||
utils.sendJson(res, 200, '密码修改成功', { |
||||
uid: result.uid, |
||||
userName: result.userName |
||||
}); |
||||
}); |
||||
} |
||||
} |
||||
}); |
||||
}); |
||||
|
||||
module.exports = router; |
@ -0,0 +1,45 @@ |
||||
'use strict'; |
||||
|
||||
/*--发送邮件--*/ |
||||
var Nodemailer = require('nodemailer'); |
||||
/*--基本配置--*/ |
||||
var Config = require('../../config/config.js'); |
||||
|
||||
var smtpTransport = Nodemailer.createTransport(Config.MAIL); |
||||
|
||||
/** |
||||
* [sendMail 发送邮件] |
||||
* @param {String} subject:发送的主题 |
||||
* @param {String} html:发送的 html 内容 |
||||
*/ |
||||
var sendMail = function(emailAddress, subject, html, callback) { |
||||
var emailAddressArr = []; |
||||
emailAddressArr.push(emailAddress); |
||||
var mailOptions = { |
||||
from: '希希里岸 <xlzzslzy@163.com>', |
||||
to: emailAddressArr, |
||||
subject: subject, |
||||
html: html |
||||
}; |
||||
|
||||
smtpTransport.sendMail(mailOptions, function(error, response) { |
||||
if (error) { |
||||
callback({ |
||||
status: 404, |
||||
message: '邮件发送失败', |
||||
data: error |
||||
}); |
||||
} else { |
||||
callback({ |
||||
status: 200, |
||||
message: '邮件发送成功', |
||||
data: response |
||||
}); |
||||
} |
||||
smtpTransport.close(); |
||||
}); |
||||
}; |
||||
|
||||
module.exports = { |
||||
sendMail |
||||
} |
Loading…
Reference in new issue