Информация
На главную Главная

Мой t-cards.ru
Войти Войти
Зарегистрироваться Регистрация

Разное
Форум Форум
Вернуться Форумы на t-cards.ru> Hard"n"Soft
Логин
Пароль
Регистрация Участники Поиск >> FAQ


Сообщения в теме: "Exim - использование Perl в процессе приема письма..."
22.03.2006 13:36
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}...}