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
}