2016-01-21 42 views
0

我一直在寻找答案的小时,仍然没有更接近。我希望有人能帮帮忙。Mandrill入站Webhook

我已经设置了一个邮箱路由传递到一个页面,它从帖子事件中检索特定信息,但无论我在我自己的页面上尝试什么,$ _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,或者如果我需要做一些与我的服务器或使用任何特定的第三方代码等

由于

我reciving在访问文件如下:

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

所以它似乎做的事情,只是$ _ POST是空

回答

0

似乎它必须处理接收页面上的权限。我改变了这一点,并从那时起工作。

0

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

+0

我试过测试mandrill http://requestb.in/zd241vzd?inspect发送的数据是否(isset($ _ POST ['mandrill_events']))但它没有找到它。 –

+0

对不起,不了解你。你有没有检查你的服务器是否收到mandrill的请求?我的意思是不在$ _POST内部的数据,只是普通的http请求,你在access_log中看到它吗? –

+0

我想我找到了一个包含此信息的文件。我找到了一行:[22/Jan/2016:08:57:53 +0000]“POST /system/email-webhook.php HTTP/1.1”200 257“ - ”“Mandrill-Webhook/1.0”至少说,它正在收到一些东西,但不知道内容是什么 –