Wie kann ich die Abfrage-String-Parameter in der URL beim Senden einer E-Mail an den Benutzer mit Link ausblenden und in der Lage sein, gleichzeitig zu lesen, greifen sie, wenn die Seite in den Browser geladen wird?NodeJs und nodemailer - Abfrageparameter im Email-Link und URL ausblenden?
Verwendung: NodeJs, Angular1, MongoDb.
Code:
exports.newPass = function (req, res) {
User.findOne({
email: req.body.email
}, function (err, email) {
console.log('Email: ' + email);
if (err) throw err;
if (!email) {
console.log('Email: ' + email);
return res.json({ message: 'This Email does not exist!' });
}
var transport = mailer.createTransport({
host:'localhost',
port: 25,
secure: false,
auth: {
user: "userName",
pass: "passWord"
}
});
var mail = {
from: "DevOps <[email protected]>",
to: "[email protected]",
subject: "Set New Password",
text: "To set new Password: ",
html: '<strong>To set new Password: </strong>'
+ ' <a href="http://localhost:4000/endPoint#!/signup?m='
+ email.email
+ '&fn='
+ email.fullName
+ '&_id='
+ email._id
+ '">Restore Password</a>'
}
transport.sendMail(mail, function(error, response){
if(error){
console.log('Server Error: ' + error);
}else{
console.log('Message sent: ' + JSON.stringify(response.messageId));
}
transport.close();
});
return res.json({ Ok: 'New Password will be send to you... please check your Emails' });
});
};
Ich bin die Lage, dies in dem Winkel Controller zu verwalten, indem Sie die folgenden:
$location.search({});
aber die Parameter und die Werte sind immer noch sichtbar in dem E-Mail-Link . Sie verschwinden, nachdem der Benutzer auf den E-Mail-Link klickt und zum Browser geht. Ich möchte sie auch in der E-Mail verstecken, die an den Empfänger gesendet wird.
Warum möchten Sie sie verstecken? – robertklep