Помогите плиз!!
Мне надо в Perl-скрипте получить тело письма!!
Я знаю что вродибе можно в файле alliases прописать скрипт.
Так ли это?И всеравно! Даже если жто и так, то как принять тело
писльма в самом скрипте?Зарание спасибо.
>Помогите плиз!!
>Мне надо в Perl-скрипте получить тело письма!!
>Я знаю что вродибе можно в файле alliases прописать скрипт.
>Так ли это?И всеравно! Даже если жто и так, то как принять
>тело
>писльма в самом скрипте?
>
>Зарание спасибо.
В aliase внести:
adress_kuda_slat: "|/put/do/tvoego/scripta"в скрипте: ну тут мона развлечся на полную катушку, но я рекомендую посмотреть в сторону перловой библиотеки MIME-tools
скачать ее мона отсюда:
http://search.cpan.org/CPAN/authors/id/E/ER/ERYQ/MIME-tools-...
внутри очень много примеров как эти пользоваться.
В частности есть готовый mimedump который парсит письмецо и раскладывает его на составные части. body отдельно, аттачи отдельно.
>>Помогите плиз!!
>>Мне надо в Perl-скрипте получить тело письма!!
>>Я знаю что вродибе можно в файле alliases прописать скрипт.
>>Так ли это?И всеравно! Даже если жто и так, то как принять
>>тело
>>писльма в самом скрипте?
>>
>>Зарание спасибо.
>
>
>В aliase внести:
>adress_kuda_slat: "|/put/do/tvoego/scripta"
>Абсолютно точно. Данные будут поступать на STDIN.
>>В aliase внести:
>>adress_kuda_slat: "|/put/do/tvoego/scripta"
>>
>
>Абсолютно точно. Данные будут поступать на STDIN.
Точнее, должен быть указан путь в пайп, и данные будут поступать в пайп. А скрипт должен их оттуда забирать.
>>>В aliase внести:
>>>adress_kuda_slat: "|/put/do/tvoego/scripta"
>>>
>>
>>Абсолютно точно. Данные будут поступать на STDIN.
>Точнее, должен быть указан путь в пайп, и данные будут поступать в
>пайп. А скрипт должен их оттуда забирать.
Что то странно, я хотел завести пользователя proxy что бы при проходе письма отрабатывал sarg, так вот не работает и все, postfix говорит не могу дописать данные, файл исполняемый. Пробовал прописывать в каталог ~/.forward, тоже тишина.
>>>Помогите плиз!!
>>>Мне надо в Perl-скрипте получить тело письма!!
>>>Я знаю что вродибе можно в файле alliases прописать скрипт.
>>>Так ли это?И всеравно! Даже если жто и так, то как принять
>>>тело
>>>писльма в самом скрипте?
>>>
>>>Зарание спасибо.
>>
>>
>>В aliase внести:
>>adress_kuda_slat: "|/put/do/tvoego/scripta"
>>
>
>Абсолютно точно. Данные будут поступать на STDIN.У меня не получается получить тело письма!!!!
Пробую так:
#!/usr/bin/perlopen (LG,">>/etc/test/test_sms")|| print "ERROR: Can't open log.\n";
flock(LG,2);
while(<>)
{
$swe=getc;
print LG "$swe";
}
close (LG);
Подскажите плиз как мне тело получить и в файл записать.Зарание спасибо.
>while(<>)
Надо while (<STDIN>)
>$swe=getc;
Соттв. эта строка не нужна.
>
>>while(<>)
>Надо while (<STDIN>)
>
>>$swe=getc;
>Соттв. эта строка не нужна.Может так?
while ($var=<stdin>){
if ($var eq "\n"){
$flag="readbody";
}
}
>
>>while(<>)
>Надо while (<STDIN>)
>
>>$swe=getc;
>Соттв. эта строка не нужна.Предыдущий пост не считается - рука дрогнула...
Тело письма обычно (:-)) отделяется от заголовка пустой строкой
Может так?while ($var=<stdin>){
══if ($var eq "\n"){
════$flag="readbody";
══}
if ($flag eq "readbody"){
push (@body, $var);
}
}Неизящно, по ламерски, но будет работать...