sendgrid事件发布不起作用

时间:2013-09-19 07:22:27

标签: php sendgrid

我正在尝试将 SendGrid 事件发回我的服务器。但我无法捕获数据。当我尝试测试功能时,它显示响应代码为200和发布的数据。但我无法在服务器端捕获它。我使用以下代码

<?php
$postText = trim(file_get_contents('php://input'));
print_r($postText);
$fh = fopen('/tmp/dump.log','a+');
fwrite($fh,print_r($postText),'true');
fclose($fh);
?>

没有任何内容写入文件。我试着写一些东西到同一个文件进行测试,它正在工作。所以我认为该文件具有所有权限。

2 个答案:

答案 0 :(得分:2)

我知道这已经有效,但我想分享一些我自己使用的示例代码。 (披露:我是SendGrid员工)

与您自己的代码非常相似,但RAW_POST_DATA全局使得一次性获取所有POST数据非常容易。

<?php

$fh = fopen("/tmp/sg_event.log", 'a+');
if ($fh) {
    fwrite($fh, print_r($HTTP_RAW_POST_DATA, true));
    fclose($fh);
}
?> ok

答案 1 :(得分:1)

这是因为你没有将第二个参数传递给print_r函数来打印数据!

这一行:fwrite($fh,print_r($postText),'true');应该是这样的:fwrite($fh,print_r($postText, true));