У меня есть загружаемый пакет, используя npm install --save nodemailer nodemailer-sendgrid-transport .
Я добавил библиотеку
const nodemailer = require('nodemailer');
const sendgridtransport = require('nodemailer-sendgrid-transport');
const transport = nodemailer.createTransport(sendgridtransport({
auth: {
api_key: MY_KEY
}
}))
Создание новый пользователь, который в то время отправлял электронное письмо
exports.postSignup = (req, res, next) => {
const email = req.body.email;
const password = req.body.password;
const confirmPassword = req.body.confirmPassword;
User.findOne({email: email})
.then( userDoc => {
if(userDoc){
req.flash('error', 'Email is already exist');
return res.redirect('/signup');
}
return bcrypt.hash(password, 12)
.then(hasedPassword => {
const user = new User({
email: email,
password: hasedPassword,
cart: { items: [] }
});
return user.save();
})
.then(result => {
res.redirect('/signup');
var email = {
to: email,
from: 'company@gmail.com',
subject: 'Signup succeded',
html: '<h1>You signup successfully!</h1>'
}
return transport.sendMail(email, function(err, info){
if(err){
console.log(err)
}else{
console.log(info);
}
})
// .catch(err => {
// console.log("error here");
// console.log(err);
// });
})
})
.catch(err => {
console.log(err);
});
}
Я отправил электронное письмо. В консоли оно показывает мне сообщение об успехе, но пользователь не получает никаких писем с моей стороны.