Я пытаюсь обработать сообщение http post из Mailgun bounce webhook. При отправке его в почтовую службу Mailgun все данные, конечно, найдены. Но я теперь отправляю этот POST на свой сервер localhost для целей разработки, и все, что я получаю, это пустой массив json. Я использую Test Webhook.Mailgun webhook POST body кажется пустым
Намерение заключается в том, чтобы сохранить это как можно проще, кроме нашего основного сервиса. Это для того, чтобы я начал использовать nodejs/expressjs, чтобы создать автономный web-сервис для работы в качестве ретранслятора для приема сообщений POST сообщений электронной почты от Mailgun и информировать администраторов о возвращенных адресах электронной почты.
Теперь я не могу понять, почему я не получаю те же данные, что и в Postbin.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mailgun = require('mailgun-js')({apiKey: 'key-...', domain: 'mymailgundomain.com'});
app.use(bodyParser.urlencoded({
extended: true
}));
function router(app) {
app.post('/webhooks/*', function (req, res, next) {
var body = req.body;
if (!mailgun.validateWebhook(body.timestamp, body.token, body.signature)) {
console.error('Request came, but not from Mailgun');
res.send({ error: { message: 'Invalid signature. Are you even Mailgun?' } });
return;
}
next();
});
app.post('/webhooks/mailgun/', function (req, res) {
// actually handle request here
console.log("got post message");
res.send("ok 200");
});
}
app.listen(5000, function(){
router(app);
console.log("listening post in port 5000");
});
Я бегу это от Test Webhook Mailgun, используя URL-адрес, как http://mylocalhostwithpublicip.com:5000/webhooks/mailgun
структуры кода копируется из https://github.com/1lobby/mailgun-js. Наверное, мне не хватает чего-то фундаментального здесь, поскольку я не могу понять это сам.
Что 'console.dir (req.headers [ 'Content-Type' ]) 'показать, когда вы разместили свой маршрут? – mscdex
Он дает '' multipart/form-data; border = 330afb68-af25-4d0a-89e2-44a10be325fd'' – Qrila