当用户使用以下函数请求新密码时,我使用nodemailer模块从节点服务器发送邮件:
function(email, password, callback) {
var smtpTransport = nodemailer.createTransport('SMTP', {
service: 'Gmail',
auth: {
user: 'something@gmail.com',
pass: 'my_password'
}
});
var mailOptions = {
from: 'My Team<something@gmail.com>',
to: email,
subject: 'new password',
text: 'login with email: ' + email + 'and password: ' + password,
html: '<p>login with email: ' + email + ' and password: ' + password +
'<br> Visit here to learn more ' + ' <a href=\"www.google.com\">google</a></p>'
};
smtpTransport.sendMail(mailOptions, function(err, res) {
if(err) {
smtpTransport.close();
return callback(err);
} else {
smtpTransport.close();
return callback(null);
}
});
};
我使用的电子邮件ID是有效的。用户确实从此id获取包含新生成的随机密码的邮件。但是,他在8小时后又收到一封邮件,其中包含另一个新生成的随机密码。我不知道在服务器端8小时后如何再次调用此函数。
我使用winston记录所有api调用和请求对象中收到的数据。但是我不熟悉时间戳格式。我该如何转换呢 “timestamp”:“2013-09-13T19:39:16.814Z”由winston登录到当地时间?同样由于node.js的异步性质,记录api调用的顺序全部交错并混乱。如何按照调用和提供的顺序记录api调用?