procmail не выполняет скрипт php

На моем FreeBSD 7.2 я установил шлюз для связи с каналом. Сервис отлично работает.

Теперь я пытаюсь настроить функцию электронной почты. Для этого я создал системного пользователя, называемого kannel и все письма отправляются этому пользователю.

В домашнем kannel меня есть следующие fileы.

 -rw-r--r-- 1 kannel kannel 81B 17 jan 09:50 .procmailrc lrwxr-x--- 1 root kannel 58B 14 jan 13:24 email2sms.php @ -> some-what-some-where -rw-rw-rw- 1 root kannel 5,8K 17 jan 09:52 log.email2sms -rw------- 1 kannel kannel 1,3K 17 jan 09:50 procmail.log -rw-r----- 1 root kannel 606B 14 jan 13:28 rawmail.txt 

Файл email2sms.php является символической email2sms.php на скрипт php (приложение ZendFramework), которое берет post от STDIN и использует ZendFramework для анализа этой почты в objectе. Затем он выполняет HTTP-request на шлюз SMS. Работает php-скрипт.

Содержание .procmailrc

 LOGFILE=$HOME/procmail.log VERBOSE=yes :0 | php email2sms.php >> log.email2sms 

Из последнего отправленного письма у меня есть это в procmail.log

 procmail: [97744] Mon Jan 17 09:50:40 2011 procmail: [97744] Mon Jan 17 09:50:40 2011 procmail: Assigning "LASTFOLDER= php email2sms.php >> log.email2sms" procmail: Executing " php email2sms.php >> log.email2sms" procmail: Notified comsat: "[email protected]:/home/user/kannel/ php email2sms.php >> log.email2sms" From [email protected] Mon Jan 17 09:50:40 2011 Subject: asdf as Folder: php email2sms.php >> log.email2sms 2600 

Но less новых выходных данных для log.email2sms, и сценарий должен выводить тему электронной почты.

Если я sudo как user kannel и передаю file с сырой электронной почтой на скрипт, он выполняется просто отлично.

 [[email protected] /home/user/kannel]# /home/user/kannel/ sudo -u kannel cat rawmail.txt | php email2sms.php >> log.email2sms 

И command выводит на log.email2sms по желанию.

Любые идеи парней?

ОБНОВИТЬ

Я изменил phpscript, чтобы просто die('bail me out scotty'); и сценарий выполняется из .procmail при отправке электронной почты. Файл log.email2sms добавляется с textом под залог.

Таким образом, возможно, содержимое почты не связано напрямую по каналам или class Zend Framework, который обрабатывает данные, передаваемые по каналам из STDIN, является ошибкой.

Проблема была не в procmail, а в скрипте Zend Framework, который у меня был.

В ZendFramework чтение электронной почты из STDIN:

 // will use file_get_contents() $email = new Zend_Mail_Message(array('file' => "php://stdin")); 

И не:

 // will use stream_get_contents() $email = new Zend_Mail_Message(array('file' => "STDIN")); 

Примечание для себя: не используйте подсказки в комментариях

Похож на ограниченную проблему с оболочкой, убедитесь, что command php находится в пути, а также для отладки procmail, которую вы всегда можете добавить в верхней части fileа

 LOGFILE=$HOME/procmail.log VERBOSE=on 
  • Проблема с конфигурацией с Apache 2 на Win 7
  • как перенаправить www.example.com на example.com через htaccess в то time как на zend framework
  • Что такое lighttpd эквивалент RewriteCond% {REQUEST_FILENAME}! -f?
  • CentOS: Zend Framework: невозможно get path к библиотеке
  • Как использовать другую версию Zend Framework при использовании Zend Server
  • Установка GData Framework Zend на общий хост
  • Исkeyить directory из перезаписи с помощью mod_rewrite и lighttpd
  • Установка Zend Framework
  • Оптимизация Zend Framework, tcpsndbuf & kmemsize
  • Требуется эквивалент SCRIPT_URL от Apache в nginx + php-fpm
  • Что upload, чтобы get среду Apache 2.0.x + PHP 4.4.x?
  • Давайте будем гением компьютера.