The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как запустить скрипт по приходу письма в Postfix?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Как запустить скрипт по приходу письма в Postfix?"  
Сообщение от MoBilka email(ok) on 02-Июл-08, 19:28 
Колеги помогите!
С postfix дружу сравнительно недавно

Задача
Необходимо перехватить скриптом письмо (или копию) перед тем как оно упадёт в папку юзера
или
запускать скрипт по приходу письма.
Как это можно сделать?

Связка postfix + amavisd + clamav + spamassassin + courier

Пытался скриптом на php, всунув его между amavisd и posfix
amavisd отдаёт в скрипт на 10029 и дальше скрипт в postfix на 10025

<?php
while (1)
{
     set_time_limit(0);
     $address = "127.0.0.1";
     $port = 10029;
     $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
     socket_bind($socket, $address, $port);
     socket_listen($socket);


     //$connection = socket_accept($socket);
     //$result = trim(socket_read($connection, 100000));
     if (($connection = socket_accept($socket)) === false) {
          $err_string = "socket_accept() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
        echo $err_string;
        file_put_contents("error.log", $err_string);
    }

     if (false === ($result = socket_read($connection, 100000))) {
               $err_string = "socket_read() failed: reason: " . socket_strerror(socket_last_error($connection)) . "\n";
            echo $err_string;
               file_put_contents("error.log", $err_string);
        }

     socket_close($socket);
     socket_shutdown($socket);
     file_put_contents(time().".txt",$result);

     $port_response = 10025;
     $socket_response = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
     socket_bind($socket_response, $address, $port);

     socket_write($socket_response, $result);
     socket_close($socket_response);
     socket_shutdown($socket_response);
}
?>

в результате скрипт получает только слово QUIT

Пытался через master.cf,  но php-скрипт запустить никак не удалось


Может кто сможет показать пример скрипта на bash или на perl к примеру, для данной задачи (сам не шарю пока в этом) ?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как запустить скрипт по приходу письма в Postfix?"  
Сообщение от Redduck (??) on 02-Июл-08, 23:28 
Здравствуйте,
возможно вам нужно просто получить копию письма?
тогда вам помогут параметры
recipient_bcc_maps =
sender_bcc_maps =

Удачи

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как запустить скрипт по приходу письма в Postfix?"  
Сообщение от mr_gfd on 03-Июл-08, 02:01 
Use procmail, Luke!

и .procmailrc в хоуме юзера.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру