Re: Re: Vip mail delivery confirmation

От: Michael Kulakov <CGatePro_at_mx_ru>
Дата: Tue 28 Oct 2003 - 15:17:53 MSK

Здравствуйте!

On Tue, Oct 28, 2003 at 03:02:05PM +0300, Peter Didenko wrote:

> > Есть задача: при прохождении письма,

> > имеющего определенный адрес получателя (например vip@domain.com),
> > нужно посылать сообщение администратору (тоесть мне)
> > с подтверждением того, что письмо доставлено на сервер
> > получателя, желательно с куском лога. Не сталкивался
> > ли кто с такой задачей? Тупо парсить лог файл, и выкусывать из него
> > всё относящееся к этому сообщению не хочется, не подскажет
> > ли кто, как это сделать попроще?
> 
>     Скажите, что значит "при прохождении"? Это значит "когда пользователь
> моего сервера отправляет письмо наружу и оно доставляется на почтовый сервер
> получателя"? Пожалуйста, старайтесь ставить вопрос максимально детально.
> Данные из лога Вы не получите с использованием механизмов сервера. Логи это
> файлы на диске. Сервер их формирует и вкладывает на диск или еще куда-то. Если
> Вам нужны данные из файлов - работайте с файлами.
> 
>     while (<LOG>) {

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Если 'tail-ить' пишущийся лог, то тут будет ломаться. Так как при вычитывании файла до конца - данный цикл будет закончен, то, что далее в этот файл еще что-то записали подобным способом увидеть не получится.

У read() по "файлам" нет блокировки на ожидание данных - он просто вернет EOF. Подробности, как можно читать подобные файлы с квази-блокировкой - можно посмотреть в source text от tail и тд :)

>        if (/что-то тут увидели/) {
>          что-то тут делаем;
>         }
>       }

С уважением,
  Михаил Кулаков Получено Tue Oct 28 12:17:54 2003

Этот архив был сгенерирован hypermail 2.1.8 : Thu 06 Apr 2006 - 19:38:39 MSD