В настоящее время я пытаюсь использовать веб-крючки Mailgun для получения электронной почты, но у меня есть несколько проблем.
Мой PHP-код в настоящее время настроен на сбор любых пост-данных и запись их в текстовый файл, поэтому я знаю, что все определенно работает, но ничего не появляется.
Вот мой PHP-код в настоящее время …
if(!empty($_POST))
{
$file = fopen('mail.txt','w');
fwrite($file, var_dump($_POST));
fclose($file);
}
Достаточно просто … Затем я захожу в свои журналы на Mailgun и вписываю URL в мой код и нажимаю test. Mailgun сообщает мне, что они успешно отправили пример запроса, но каждый раз, когда я захожу в свой mail.txt, чтобы проверить, файл все еще пуст.
Я изменил права доступа к txt-файлу на 655, чтобы выяснить, связано ли это с этим, но я все равно ничего не получаю. Я создал URL-адрес бункера Mailgun и проверил там Webhooks, и все, кажется, работает.
Есть ли что-то очевидное, чем я не занимаюсь?
Я обнаружил, что проблема заключается в том, что сервер 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);
}
Я знаю, что это может плохо повлиять на работу сервера и быть довольно медленным. Я использовал это только для первоначального тестирования и с тех пор был удален для производства.
Других решений пока нет …