Nodemailer: ERR_CONNECTION_RESET с AngularJS и NodeJS с POST

Ниже приведены данные сообщения, которые я пытаюсь отправить в NodeJS из AngularJS, используя метод POST:

$scope.doStuff = function(foo, bar) {
    $http({method: 'post', url: '/send', data: {foo: foo, bar: bar}}).
        success(function(data, status, headers, config) {
            console.log(data);
    });
};

И вот как я получаю данные на сервере с помощью NodeJS:

 router.post('/send',function(req,res){

    var transporter = nodemailer.createTransport({
        service: 'Gmail',
        auth: {
            user: '[email protected]',
            pass: 'foobar'
        }
    });
    var mailOptions = {
        from: 'Foo Bar ✔ <[email protected]>',
        to: req.body.foo, // list of receivers
        subject: "Hello FooBar", 
        text: 'Hello ' + req.body.foo,
        html: "<p>Hello FooBar, you rock!</p>"
    };
    transporter.sendMail(mailOptions, function(error, info){
        if(error){
            console.log(error);
        }else{
            console.log('Message sent: ' + info.response);
        }
    });
});

Я просто пытаюсь отправить электронное письмо с помощью nodemailer, и я смог отправить электронное письмо в порядке. Но я получаю POST http://localhost:3000/send net::ERR_CONNECTION_RESET на консоли после отправки запроса. Иногда я также получаю POST http://localhost:3000/send net::ERR_EMPTY_RESPONSE на консоли.

Может ли кто-нибудь помочь мне понять, почему я получаю это на консоли и как это решить?


person skip    schedule 04.09.2014    source источник


Ответы (2)


Вы не возвращаете ответ от своего маршрута.

res.send(200)
person user3995789    schedule 05.09.2014

Раньше, когда я работал с модулем nodemailer, у меня тоже были такие же проблемы. Возможно, это какая-то неправильная конфигурация сервера, потому что код отлично работал на моем локальном сервере. А в прямом эфире показывает Error: connect ECONNREFUSED. Я много пытался решить эту проблему, но безуспешно. Итак, наконец, я переключился на другой модуль, например Mailer.
Это сработало для меня, вы можете попробовать.

person Ravi    schedule 05.09.2014
comment
github.com/Marak/node_mailer был заменен на nodemailer. - person skip; 05.09.2014