Mandrill入境Webhook

时间:2016-01-21 15:57:36

标签: php mandrill webhooks

我一直在寻找答案的时间,但仍然没有接近。我希望有人可以提供帮助。

我已经设置了一个邮箱路由以传递到一个页面,该页面可以从帖子事件中检索特定信息,但不管我在自己的页面上尝试了什么内容$ _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);

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

由于

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

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

所以看起来确实在做某事,只是$ _POST是空的

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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