我目前正在尝试使用Mailgun的webhook来检索电子邮件,但遇到了一些问题。
我的PHP代码目前被设置为获取任何发布数据并将其写入一个txt文件,这样我就知道一切都正常,但什么都没有显示。
这是我目前的PHP代码。。。
if(!empty($_POST))
{
$file = fopen('mail.txt','w');
fwrite($file, var_dump($_POST));
fclose($file);
}
很简单。。。然后,我进入Mailgun上的日志,输入代码的URL,然后单击测试。Mailgun告诉我,他们已经成功发送了一个样本请求,但每次我进入mail.txt进行检查时,文件仍然是空的。
我已经将txt文件的权限更改为655,以确定是否与此有关,但我仍然一无所获。我创建了一个Mailgun bin URL,并在那里测试了Webhook,一切似乎都正常。
有什么明显我没有做的吗?
我发现问题在于Linux服务器没有将var_dump()函数写入文本文件。我更改了文件夹的权限,自己创建了文件并更改了权限,删除了文件以允许PHP创建和写入文件,但这些都不起作用。
我的解决方案是使用ob函数,结果是这样的。。。
if(!empty($_POST))
{
$file = fopen('mail.txt','w');
ob_start();
var_dump($_POST);
fwrite($file, ob_get_clean());
fclose($file);
}
我知道这会对服务器产生不良影响,而且速度非常慢。我只是在最初的测试中使用这个,后来被删除用于生产。