Отправка почты с использованием sendGrid, но клиент не получает почту в node js - PullRequest
0 голосов
/ 15 января 2020

У меня есть загружаемый пакет, используя 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);
    });
}

Я отправил электронное письмо. В консоли оно показывает мне сообщение об успехе, но пользователь не получает никаких писем с моей стороны.

...