У меня возникли проблемы с обработкой входящих писем от mandrill с помощью Meteorjs. Я немного новичок, когда дело доходит до написания маршрутов на стороне сервера/маршрутов API, поэтому я надеюсь, что не буду забывать что-то безумно основное. Это маршрут железного маршрутизатора, который я определил: Он получает пост-вызов, создает объект сообщения и вводит объект в мою коллекцию.Обработка Mandrill Входящие письма
Router.route('/api/message/insert', function() {
// NodeJS request object
var request = this.request;
request = JSON.parse(request.body.mandrill_events);
console.log(request);
var firstEmail = request[0];
if(firstEmail.event == "inbound"){ // == used on purpose
var email = firstEmail.msg.from_email;
var user = Meteor.users.findOne({"emails[0].address":email });
var chatRoom = chatRooms.findOne({name:user_.id});
var message = {
content:firstEmail.msg.text,
links:[],
chatRoom:chatRoom._id,
owner:user._id,
ownerName:user.profile.name,
ownerEmail:email,
createdAt: new Date(),
};
chatMessages.insert(message);
}
// NodeJS response object
var response = this.response;
this.response.end("chat message implemented");
}, {where: 'server'});
Когда я отправляю тестовые письма с панели приборов mandrill, я получаю положительный ответ. Фактически отправка электронной почты на адрес, который я зарегистрировал в mandrill, ничего не делает. Мне сложно отлаживать это, потому что я не получаю код ошибки в моих журналах Modulus (также console.log ничего не делает).
Я нашел это руководство http://dev-blog.cloud-spinners.com/2014/03/sending-and-receiving-email-using.html , но я не могу видеть, что я делаю здесь принципиально неправильно. Я знаю, что мне нужно обработать тело электронной почты дальше, но это просто, чтобы получить сообщение «hello world» в моей базе данных.