Страница 1 из 1

Exim & pipe = how to

Добавлено: 2009-03-26 12:47:56
dm07
Всем привет.
Собственно, подскажите, как реализовать пайп...
Итак, есть скрипт php, суть которого - отобрать из STDIN строки From:, To:, Subject:, и т.п., и выполнить действия (запись в БД). Скрипт отрабатывает свои действия, если его запустить непосредственно с консоли, ввести данные. Теперь, хочется, чтобы поступающие письма на EXIM подавались на вход этому скрипту...
Роутер:

Код: Выделить всё

helpdesk_user:
driver = accept
condition = ${if eq{$local_part@$domain}{helpdesk@domen.ru}{yes}{no}}
transport = helpdesk_delivery
Если письмо пришло на конкретный адрес - то пайпим его.
Транспорт:

Код: Выделить всё

helpdesk_delivery:
  driver = pipe
  command = /var/www/pipe.php
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  log_output
  user = mailnull
В maillog вижу:

Код: Выделить всё

Mar 26 12:40:47 hosting exim[44335]: 1Lmm4p-000BX3-LI ** helpdesk@domen.ru R=helpdesk_user T=helpdesk_delivery: Child process of helpdesk_delivery transport returned 255 (could mean shell command ended by signal 127 (unrecognized signal number)) from command: /var/www/pipe.php
Где грабли?

Re: Exim & pipe = how to

Добавлено: 2009-04-09 0:51:42
Alex Keda
а чё оно стаким кодом странным завершилось?
и не думали перлом встроенным воспользоваться, вместо такой странной подпорки?

Re: Exim & pipe = how to

Добавлено: 2009-04-09 12:28:24
dnk
Я писал про сбор статистики. Посмотри - это должно тебе помочь.
http://forum.lissyara.su/viewtopic.php? ... 7&start=25
Добавь поле subject и что еще нужно.

Re: Exim & pipe = how to

Добавлено: 2009-04-09 13:28:28
dm07
lissyara писал(а):а чё оно стаким кодом странным завершилось?
и не думали перлом встроенным воспользоваться, вместо такой странной подпорки?
Как раз сейчас пишу скрипт на перле, обрабатывающий письма, передаваемые по пайпу.