Ceci est mon settingController:
var sendSmtpMail = function (req,res) {
var transport = nodemailer.createTransport({
service:'gmail',
auth: {
user: "[email protected]",
pass: "qwerr@wee"
}
});
var mailOptions = {
from: "[email protected]",
to:'[email protected]',
subject: req.body.subject+"nodejs working ?",
text: "Hello world ?",
}
transport.sendMail(mailOptions, function(error, response){
if(error){
res.send("Email could not sent due to error: "+error);
console.log('Error');
}else{
res.send("Email has been sent successfully");
console.log('mail sent');
}
});
dans postman j'ai l'erreur comme ça:
Email n'a pas pu être envoyé à cause d'une erreur:
Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials g7sm64435626pfj.29 - gsmtp
Si vous avez activé l'authentification à 2 facteurs sur votre compte Google, vous ne pouvez pas utiliser votre mot de passe habituel pour accéder à Gmail par programme. Vous devez générer un mot de passe spécifique à l'application et l'utiliser à la place de votre mot de passe actuel.
Pas:
Votre script va maintenant ressembler à ceci:
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: 'YOUR-GENERATED-APP-PASSWORD'
}
});
J'espère que ça aidera quelqu'un.
Vous utilisez le service gmail, votre courrier doit donc être dans gmail:
var transport = nodemailer.createTransport({
service:'gmail',
auth: {
user: "[email protected]",
pass: "qwerr@wee"
}
});
var mailOptions = {
from: "[email protected]",
to:'[email protected]',
subject: req.body.subject+"nodejs working ?",
text: "Hello world ?",
}
transport.sendMail(mailOptions, function(error, response){
if(error){
res.send("Email could not sent due to error: "+error);
console.log('Error');
}else{
res.send("Email has been sent successfully");
console.log('mail sent');
}
});