Admin
Регистрация: 05.10.2005
Проживание: Москва
Сообщения: 284
|
Exim - использование Perl в процессе приема письма
Большие возможности в плане исполнения внешних перловых модулей exim предоставляет.. мне понравилось! Например вот заголовок перекодировать, простейший пример:
Делаем перловый скрипт с процедурами:
#/etc/exim/exim.pl
#!/usr/bin/perl -w
use MIME::Words qw(:all);
use Text::Iconv;
sub header_decode {
my ($header) = @_;
return join("", map {xcode(${$_}[1], ${$_}[0])} decode_mimewords($header));
}
sub xcode {
my ($charset, $str) = @_;
return $str unless $charset;
my $conv = Text::Iconv->new($charset, "CP1251");
return $conv->convert($str);
}
В конфиг exim"а включаем подгрузку этого модуля (глобальная опция):
#/etc/exim/exim.conf
perl_startup = do "/etc/exim/exim.pl"
Ну и затем непосредственно пример использования (где-нибудь в acl):
#/etc/exim/exim.conf
warn message = X-Header-From: ${perl{header_decode}{$rheader_from:}}
где header_decode - имя функции, описанной в модуле, и далее в скобках нужное число параметров
${perl{function}{$arg1}{$arg1}...}
|