Привет!
Возник вопрос как сделать так чтоб пройдя все проверки писмо перед тем как положится в папку пользователю обрабатывалось скриптом и потом ложилось в папку пользователя
Скрипт на перле
выдергивает size и ложит в базу Код:
cat mail
#!/usr/bin/perl
use Net::SMTP;
use DBI;
# GET OPTIONS
# something happend if I get all @ARGV => try shift
my $argv=shift(@ARGV);
my($host,$mail_hello,$mail_from,$mail_to,$nextargv)=split(/::/,$argv,5);
# LOAD MAIL
my $mail_data;
while(<STDIN>) {$mail_data.=$_};
my $size_bytes=length($mail_data);
# SEND MAIL BACK
if($size_bytes>0) {
my $smtp=Net::SMTP->new($host);
$smtp->hello($mail_hello);
$smtp->mail($mail_from);
$smtp->to($mail_to);
# $smtp->cc($mail_cc);
$smtp->data();
$smtp->datasend($mail_data);
$smtp->dataend();
$smtp->quit;
};
$SUBJPREFIX='*';
$mail_data=~s/(
Subject:)(.*?)(
)/$1$2$SUBJPREFIX$3/si;
my $mail_subj=$2;
my $logoutdir='/home/avolon/log';
# LOG
eval {
my ($sec,$min,$hour,$mday,$mon,$year)=localtime(time());
++$mon;
$year+=1900;
my $DATE=sprintf(«%.4d-%.2d-%.2d»,$year,$mon,$mday);
my $TIME=sprintf(«%.2d:%.2d:%.2d»,$hour,$min,$sec);
my $DATIM=«$DATE $TIME»;
my $filename=«$logoutdir/postfix.$DATE.log»;
$filename=~tr/ :/--/;
if(open(FL,«>>$filename»)) {
print FL «$DATE $mail_from $mail_to $size_bytes
»;
$dbh = DBI->connect(«DBI:mysql:host=*.*.*.*;database=test»,«фыв»,«фыв»)
or die «Нет доступа к СУБД!»;
$sth = $dbh->prepare( q{
insert into mail (date,ot,komu,size) values (?,?,?,?)
}) || die «Can't prepare statement: $DBI::errstr»;
$sth->execute(«$DATE»,«$mail_from»,«$mail_to»,«$size_bytes»);
$dbh->disconnect;
close(FL);
};
};
В master.cf Код:
smtp inet n - - - - smtpd
-o content_filter=test
localhost:10027 inet n - n - 10 smtpd
test unix - n n - 5 pipe
flags=q. user=pochta argv=/etc/postfix/mail localhost:10027::localhost::${sender}::${recipient}::
Согласно этому скрипту сейчас все что приходит на почту проходит через этот скрипт и потом дальше!
Но это не вариант так как он считает и спам (((((((
А хотелось бы не посредственно перед тем как положить в ящик!!
Есть ли у кого мысли!
Ответ на:
комментарий
от sdio
Ответ на:
комментарий
от Avolon
Ответ на:
комментарий
от Avolon
Ответ на:
комментарий
от Valmont
Ответ на:
комментарий
от Avolon
Ответ на:
комментарий
от Valmont
Ответ на:
комментарий
от Avolon
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Парсинг логов в MySQL с помощью Perl скрипта (2017)
- Форум Как изменить from-mail, postfix (2014)
- Форум Postfix Dovecot Mysql не приходят письма (2024)
- Форум postfix перестала приходить почта извне (2023)
- Форум Bacula. Проблема с восстановлением файлов (2014)
- Форум postfix-фильтр (2005)
- Форум Беда. Спамит postfix. Попал во все черные списки (2016)
- Форум [postfix] Фильтр для postfix (2010)
- Форум фильтр к postfix (2008)
- Форум Postfix DSPAM, фильтры (2006)