PHP Email Piping не может выполнить ошибку

Я работаю над приложением, которое должно передавать электронное письмо в php-скрипт, который будет читать входящее письмо и обрабатывать его в соответствии с содержимым. У меня есть папка и сценарий, настроенные на chmod 755 по мере необходимости, а электронная почта по умолчанию для домена направляется к сценарию. Вот основной тестовый сценарий:

#!/usr/local/bin/php
<?php
// ^ yes, that's the proper path to php
// read the email
$email = "";
$fp = fopen("php://stdin", "r");
while (!feof($fp)) {
    $email .= fread($fp, 1024);
}
fclose($fp);

// for testing put the email into a file on the server.
$t = microtime(true);
file_put_contents('/home/MYACCOUNT/public_html/THEDOMAIN.com/pipe/email-' . $t . '.txt', $email);

// email me a copy of the inbound email
$email = wordwrap($email, 70, "\r\n");
$to      = '[email protected]';
$subject = 'You Sent a Test Email';
$headers = 'From: [email protected]' . "\r\n" .
           'Reply-To: [email protected]' . "\r\n" .
           'X-Mailer: PHP/' . phpversion();
return mail($to, $subject, $email, $headers);
?>

И вот ошибка, которую я получаю:

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

pipe to |/home/MYACCOUNT/public_html/THEDOMAIN.com/pipe/send-test.php
generated by [email protected]
local delivery failed

The following text was generated during the delivery attempt:

------ pipe to |/home/MYACCOUNT/public_html/THEDOMAIN.com/pipe/send-test.php
generated by [email protected] ------

Could not exec '/home/MYACCOUNT/public_html/THEDOMAIN.com/pipe/send-test.php'

Action: failed
Final-Recipient: rfc822;|/home/MYACCOUNT/public_html/THEDOMAIN.com/pipe/send-test.php
Status: 5.0.0

У меня есть другие приложения, которые могут преобразовывать электронные письма в сценарии, поэтому я не понимаю, что может происходить. Любая помощь будет принята с благодарностью. Спасибо!


person Pat Friedl    schedule 21.11.2016    source источник
comment
Вы нашли ответ?   -  person Chris Happy    schedule 15.07.2017
comment
Нет, даже намека. Как ни странно, странное электронное письмо, которое приходит в мой документ, запускает функцию конвейерной передачи. Не знаю, как   -  person Pat Friedl    schedule 04.08.2017


Ответы (1)


проверьте, что права доступа к файлу (и его каталог) установлены на 0755, и файл должен быть в формате ascii, а не в двоичном формате

Без пробелов / новых строк до / после тегов php и хэшбэга

person RootTools    schedule 11.05.2020