The OpenNET Project / Index page

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

Написание демона-фильтра для Postfix (postfix spam filter mail)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: postfix, spam, filter, mail,  (найти похожие документы)
Date: Thu, 21 Apr 2005 14:13:01 +0600 From: Vadim Krol <Vadim_Krol@p5.f1249.n5030.z2.fidonet.org.> Newsgroups: ftn.ru.unix.bsd Subject: Написание демона-фильтра для Postfix IC> Hо если хочется своего - README_FILES/FILTER_README от postfix'а IC> поможет? У меня за вирусами следит уже демонидзе на сервере, который, непосредственно содержит почтовые ящики пользователей. Hаписал свое и будя. Если кому пригодится. Кратко. main.cf: smtpd_greylist = check_policy_service inet:127.0.0.1:10023 smtpd_spf = check_policy_service unix:private/policy-spf smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_rbl_client list.dsbl.org, reject_rbl_client relays.ordb.org, reject_rbl_client bl.spamcop.net, reject_rbl_client dul.ru, reject_rbl_client dynablock.wirehub.net, $smtpd_greylist, $smtpd_spf master.cf: smtp inet n - n - - smtpd -o content_filter=spam policy-spf unix - n n - - spawn user=nobody argv=/usr/bin/perl /usr/local/bin/spf.pl spam unix - n n - 5 pipe flags=q user=spam argv=/usr/local/bin/sa-smtp localhost:10027 antispam \ ${sender} ${recipient} /usr/local/bin/spamc -u spam localhost:10027 inet n - n - - smtpd -o mynetworks=127.0.0.0/8 -o transport_maps=hash:/usr/local/etc/postfix/transport -o smtpd_recipient_restrictions=permit_mynetworks,reject -o myhostname=mxr.mydomain.ru /usr/local/bin/sa-smtp: #!/usr/bin/perl -w use strict; use Net::SMTP; my $host = $ARGV[0]; my $hello = $ARGV[1]; my $mail_from = $ARGV[2]; my $rcpt_to = $ARGV[3]; my $argm = $ARGV[4]; if (defined($argm)) { open(CHILD, "$argm |") or undef($argm); } my $smtp = Net::SMTP->new($host); $smtp->hello($hello); $smtp->mail($mail_from); $smtp->to($rcpt_to); $smtp->data(); if (defined($argm)) { while(<CHILD>) { next if (/^delivered\-to\:/i); $smtp->datasend($_); } } else { while(<>) { next if (/^delivered\-to\:/i); $smtp->datasend($_); } } $smtp->dataend(); close(CHILD) if defined($argm); $smtp->quit; Hу и, соотвю., в файле transport прописаны транспорты к почтовым серверам соотв. доменов. Greylist запущен как демон. Получился принимающий сервер, который проверяет почту на спам и передает нужным серверам, в соотв. с доменами. Сделано по причине страшного геморроя и лицензионных ограниченией на почтовые сервера, которые используются у нас (софт коммерческий). Попытка прикрутить SA к этим почтовикам вызывало падучесть раз в сутки, что недопустимо. bye, Igor.

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




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

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