NodeMailer Не Определены Получатели

при попытке отправить электронное письмо с узла.JS-сервер используя nodemailer, я получаю следующую ошибку:

ERROR: Send Error: No recipients defined

мой код выглядит следующим образом:

клиентской стороне:

var mailData = {
        from: "myemail@gmail.com",
        to: "someoneelse@something.com",
        subject: "test",
        text: "test email"
    };

  $.ajax({
        type: 'POST',
        data: mailData,
        contentType: 'application/json',
        url: 'http://localhost:8080/sendEmail',
        success: function(mailData) {
            console.log('successfully posted to server.');
        }
    });

сервер:

var nodemailer = require('nodemailer');

app.post('/sendEmail', function(mailData) {

   var transporter = nodemailer.createTransport({
       service: 'gmail',
       auth: {
           user: 'myemail@gmail.com',
           pass: 'mypassword'
       },
   });

   transporter.sendMail(mailData, function(error, info) {
       if (error) {
           console.log(error);
           return;
       }
       console.log('Message sent');
       transporter.close();
   });

});

Это соответствует документам nodemailer, и рукопожатие SMTP всегда заканчивается успешно, поэтому я знаю, что это не проблема с объектом transporter.

1 ответов


такого рода ошибка возникает, когда значение, присвоенное ключ to в объекте дана sendMail метод пуст. Как мы видим, это означает, что происходит что-то неправильное, и вы не получаете те же данные на стороне сервера, что и отправленный клиент.

также я рекомендую проверить, получаете ли Вы доступ к хорошей переменной на вашем серверном действии. Вероятно, параметры POST доступны по-разному - пожалуйста, проверьте это в своей документации по фреймворку.

например, в HapiJS I получить POST params таким образом:

exports.someAction = function (request, reply) {
    var postParams = request.payload
}