2016-09-28 6 views
1

У меня есть функция nodemailer на моей веб-странице, которую я пытаюсь проверить локально. В моем пакете.json версия "nodemailer": "0.7.1". В моем файле маршрутизации у меня есть:Ошибка Nodemailer без объяснения причин

var express = require('express'); 
var router = express.Router(); 
var nodemailer = require("nodemailer"); 


router.get('/', function(req, res, next) { 
    res.render('home'); 
}); 

var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
    user: "[email protected]", 
    pass: "examplePass" 
    } 
}); 

router.get('/send',function(req,res){ 
    var mailOptions={ 
     from : req.query.from 
    } 
     console.log(mailOptions); 
     smtpTransport.sendMail(mailOptions, function(error, response){ 
    if (error){ 
     console.log(error); 
     res.end("error"); 
    } else { 
     console.log("Message sent: " + response.message); 
     res.end("sent"); 
    } 
    }); 
}); 

module.exports = router; 

И в моей странице у меня есть сценарий в нижней части, которая идет:

$(document).ready(function(){ 
    var to,from; 
    $(".signup").on("click", function(){ 
    from = $("#search").val(); 

    $.get("/send", 
      {from:from}, 
      function(data){ 
      alert("Thanks :) We'll keep you updated."); 
      location.reload(true); 
      }); 
    }); 
}); 

Я проверил некоторые вещи, и когда я нажимаю на кнопку Регистрация я получить поле «от», а также предупреждающее сообщение и перезагрузка страницы после того, как я одобрю оповещение.

Проблема заключается в том, что почта фактически не прибывает в почтовый ящик, а консоль тзд (светлячок) читает просто "syntax error send:1:1"

Если я смотрю в сеть запроса, я могу видеть, что код состояния 200 OK, но на вкладке «ответ» указано только «ошибка», без каких-либо объяснений.

Я не могу отладить это без какой-либо информации, поэтому я надеюсь, что у кого-то появится идея, почему он не работает. Он должен работать, кстати, потому что у меня есть другой сайт, где он отлично работает и в основном сделал копию-пасту оттуда ...

Спасибо.

ответ

1

Оказывается, проблема была в полях данных из функции Nodemailer STMP. В частности, я просто отказался от параметра «to: [email protected]».

мне удалось отладить эту проблему через console.log на стороне сервера и в конечном итоге натыкаясь на этот пост, который дал мне идею, чтобы проверить функциональные поля снова: Sending email from local host with Nodemailer

В любом случае, добавляя " к: 'в дополнение к' от: 'сделал трюк.

Смежные вопросы