Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var smtpTransport = nodemailer.createTransport({
- service: 'Gmail',
- auth: {
- user: 'myGmail@gmail.com',
- pass: 'myPassword'
- }
- });
- var smtpTransport = nodemailer.createTransport("SMTP",{
- service: 'Gmail',
- auth:{
- XOAuth2: {
- user:"myGmail@gmail.com",
- clientId:"myclientID.apps.googleusercontent.com",
- clientSecret:"myClientSecret",
- refreshToken:"refreshToken"
- }
- }
- app.post('/forgot', function(req, res, next) {
- async.waterfall([
- function(done) {
- crypto.randomBytes(20, function(err, buf) {
- var token = buf.toString('hex');
- done(err, token);
- });
- },
- function(token, done) {
- var resetEmail = req.body.email.toLowerCase();
- console.log("LowerCase email " + resetEmail);
- User.findOne({ email: resetEmail }, function(err, user) {
- if (!user) {
- console.log('error', 'No account with that email exists.');
- req.flash('error', 'No account with that email address exists.');
- return res.redirect('/forgot');
- }
- console.log("setting token");
- user.resetPasswordToken = token;
- user.resetPasswordExpires = Date.now() + 3600000; // 1 hour
- user.save(function(err) {
- done(err, token, user);
- });
- });
- },
- function(token, user, done) {
- var smtpTransport = nodemailer.createTransport("SMTP",{
- service: 'Gmail',
- auth:{
- XOAuth2: {
- user:"myGmail@gmail.com",
- clientId:"myclientID.apps.googleusercontent.com",
- clientSecret:"myClientSecret",
- refreshToken:"refreshToken"
- }
- }
- });
- var mailOptions = {
- to: user.email,
- from: 'passwordreset@demo.com',
- subject: 'Password Reset',
- text: 'You are receiving this because you (or someone else) have requested the reset of the password for your account.nn' +
- 'Please click on the following link, or paste this into your browser to complete the process:nn' +
- 'http://' + req.headers.host + '/reset/' + token + 'nn' +
- 'If you did not request this, please ignore this email and your password will remain unchanged.n'
- };
- smtpTransport.sendMail(mailOptions, function(err) {
- console.log("setting token 1");
- req.flash('info', 'An e-mail has been sent to ' + user.email + ' with further instructions.');
- //done(err, 'done');
- //return res.redirect('/checkEmail');
- });
- res.redirect('/checkEmail');
- }
- ], function(err) {
- if (err) return next(err);
- res.redirect('/forgot');
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement