The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Почтовый робот на Perl"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Почтовый робот на Perl"
Сообщение от SoVic emailИскать по авторуВ закладки on 29-Окт-03, 18:41  (MSK)
Привети Всем!
Вот решыл спросить мож кто встречался с такой проблем при работе перлового скрипта почтового робота. В конфине сендмаила (в алиасах) прописано
... /etc/mail/aliases ...
import:         "| /usr/bin/perl /root/bin/import.pl"
...

При приходе почты на import@my.host запускаеться ентот скрипт который читает весь входной поток в масив
... /root/bin/import.pl ...
my @mail = <STDIN>;
...
тута типа анализируем то что привалило, после анализа отправляем уведомление вызвая AlertMail.
...
#################
# Отправка уведомлений по електронной почте
# в случаи возникновения ошибки
#
sub AlertMail {
    my $msg = @_[0];
    my $sbj = @_[1];
    my @orign= @_[2..scalar(@_)];
    open(MAIL,"| sendmail $infoMail") || status("* [ERROR] Ошибка отправки уведомления");
    print MAIL "From: $fromMail\n";
    print MAIL "To: $infoMail\n";
    print MAIL "MIME-Version: 1.0\n";
    print MAIL "Content-Type: text/plain; charset=koi8-r\n";
    print MAIL "Content-Transfer-Encoding: 8bit\n";
    print MAIL "Subject: $sbj.\n\n";
    print MAIL "\nПротокол выполнения:\n\n";
    for ($i=0; $i<scalar(@status); ++$i) {
        print MAIL "$status[$i]";
    }
    print MAIL "$msg";
    for ($i=0; $i<scalar(@orign); ++$i) {
        print MAIL "* $orign[$i]";
    }
    close(MAIL);
}
...

Проблема. Если скрипт запускать ручками (любой пользователь не только рут) все намано - уведомление приходит без вопросов. Но когды он выполняеться от сендмаила (насколько я понял mailnull:mail) все работает кроме отправки уведомления. :(

Подскажыте как енто мона обойти или где чиго подправит... что самое обидное нигде нету никакого упоминая о том что что то не так :(

OS: FreeBSD 4.8

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Почтовый робот на Perl"
Сообщение от maxim emailИскать по авторуВ закладки on 30-Окт-03, 03:20  (MSK)
>Привети Всем!
>Вот решыл спросить мож кто встречался с такой проблем при работе перлового
>скрипта почтового робота. В конфине сендмаила (в алиасах) прописано
>... /etc/mail/aliases ...
>import:         "| /usr/bin/perl /root/bin/import.pl"
>
>...
я пишу уже третий бот по ентой схеме.


>
>При приходе почты на import@my.host запускаеться ентот скрипт который читает весь входной
>поток в масив
..??? я делала через IPC обработки на лету .. Получаеися достаточно резво

>... /root/bin/import.pl ...
>my @mail = <STDIN>;
>...
>тута типа анализируем то что привалило, после анализа отправляем уведомление вызвая AlertMail.
..
>
>...
>#################
># Отправка уведомлений по електронной почте
># в случаи возникновения ошибки
>#
>sub AlertMail {
>    my $msg = @_[0];
>    my $sbj = @_[1];
>    my @orign= @_[2..scalar(@_)];
>    open(MAIL,"| sendmail $infoMail") || status("* [ERROR] Ошибка отправки
>уведомления");
>    print MAIL "From: $fromMail\n";
>    print MAIL "To: $infoMail\n";
>    print MAIL "MIME-Version: 1.0\n";
>    print MAIL "Content-Type: text/plain; charset=koi8-r\n";
>    print MAIL "Content-Transfer-Encoding: 8bit\n";
>    print MAIL "Subject: $sbj.\n\n";
>    print MAIL "\nПротокол выполнения:\n\n";
>    for ($i=0; $i<scalar(@status); ++$i) {
>        print MAIL "$status[$i]";
>    }
>    print MAIL "$msg";
>    for ($i=0; $i<scalar(@orign); ++$i) {
>        print MAIL "* $orign[$i]";
>
>    }
>    close(MAIL);
>}
>...
Ешо ест варианты с отправкой мыла через
Net::SMTP .. мне больше понравилось... просто и сердито.. Два бота сделал
А с атачами через Sendmail.pm
>
>Проблема. Если скрипт запускать ручками
..зачем ручками .. по факту вознекновения необходимости ..
Иль я чето не пойму..

(любой пользователь не только рут) все намано
>- уведомление приходит без вопросов. Но когды он выполняеться от сендмаила
>(насколько я понял mailnull:mail) все работает кроме отправки уведомления. :(
>
>Подскажыте как енто мона обойти или где чиго подправит... что самое обидное
>нигде нету никакого упоминая о том что что то не так
>:(
>
>OS: FreeBSD 4.8
Пиши на мыло.. поговорим . Рад буду помоч
dbdisp@ora.db.energy.gov.ua

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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