Mandrill 入站 Webhook

Mandrill Inbound Webhook

我已经找了几个小时的答案,但仍然没有更近的答案。希望有人能帮忙。

我已经设置了一个邮箱路由以传递到一个页面,该页面从 post 事件中检索特定信息,但无论我在自己的页面 $_POST['mandrill_events' 上尝试什么] 似乎从来不存在,但如果用 http://requestb.in/ 测试它正在接收一些东西。我尝试了以下代码但没有成功:

$test = (json_decode($_POST['mandrill_events']));
$testinfo = $test->event;

$test = json_encode(json_decode($_POST['mandrill_events']));

$data = $_POST;
$restult_data_decode = json_decode($data['mandrill_events']);
$message_id = $restult_data_decode[0]->_id;

$value = json_decode(file_get_contents('php://input'));
$info = json_encode($value);

以及这些的各种替代版本。知道我遗漏了什么,因为这是我第一次设置 webhook,不确定它是否只是一个 $_POST,或者我是否需要对我的服务器做一些事情或使用任何特定的第 3 方代码等。

谢谢

我在访问文件中收到以下内容:

[22/Jan/2016:08:57:53 +0000] "POST /system/email-webhook.php HTTP/1.1" 200 257 "-" "Mandrill-Webhook/1.0" 

所以它似乎确实在做某事,只是 $_POST 是空的

看起来您只是没有收到来自 mandrill 的 POST 请求,首先检查您的服务器的 access_log 以确保 mandrill 请求出现在那里并带有有效的 http 代码。其次,检查您用于 webhook 的 URL 是否正常工作。尝试自己用 mandrill_events 发送 POST 请求(即你可以使用 this plugin )并检查会发生什么。

似乎与接收页面上的权限有关。我改变了它,从那时起它就起作用了。