From raf@mielonka.polbox.pl Mon May 22 03:02:16 2000 Path: spawn!polsl.gliwice.pl!newsfeed.silweb.pl!agh.edu.pl!rmf-fm!news.rmf.pl!news.polbox.pl!not-for-mail From: rafal wiosna Newsgroups: pl.comp.mail.mta Subject: Re: ograniczenie wysylania poczty w sendamil Date: 17 May 2000 13:17:53 GMT Organization: Polbox On-line Service Lines: 107 Message-ID: <8fu661$baq$1@orfika.office.polbox.pl> References: <39228258.4355067F@man.lodz.pl> Reply-To: rafamiga@uucp.polbox.pl NNTP-Posting-Host: orfika.office.polbox.pl Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit X-Trace: orfika.office.polbox.pl 958569473 11610 195.116.6.19 (17 May 2000 13:17:53 GMT) X-Complaints-To: rafamiga@uucp.polbox.pl NNTP-Posting-Date: 17 May 2000 13:17:53 GMT X-Comment-To: Piotr Goczal X-Newsreader: TIN [UNIX 1.3 unoff BETA 970527; i686 Linux 2.2.14] Xref: spawn pl.comp.mail.mta:3317 * Piotr Goczal wrote: > Co to backupowania poczty przychodzacej to polecam procmaila i > /etc/procmailrc - dziala sam stosuje. Z poczta wychodzaca bylo gorzej: w > sendmailu nie potrafilem tego opanowac. W koncu postawilem snifera ktory Już to kiedyś podsyłałem: From: rafal wiosna Newsgroups: pl.comp.mail.mta Date: 27 May 1999 22:19:00 GMT * cezar@cs.net.pl wrote: > Pytanie: Jak zmusic sendmaila, zeby przechowywal (tzn wysylal na inne konto, > zapisywal w spoolu etc) listy WYCHODZACE z kilku wskazanych kont? Myślę, że udało mi się stworzyć sposób. Idea: listy przychodzące z określonych sieci [chodzi o IP; tu: z lokalnej] są przechwytywane przez mailer copy odpalający skrypt w perlu. Skrypt kopiuje to, co ma na stdin i uruchamia sendmaila ponownie, który dokańcza delivery. Sendmail wywołany z linii komend w &{client_addr} ma po prostu 0. Sposób: [/etc/sendmail.cf] F{copy_from}-o /etc/mail/copyfrom .... ################################################################### ### Ruleset 98 -- local part of ruleset zero (can be null) ### ################################################################### S98 R$* $: $(dequote "" $&{client_addr} $) $| $1 R$={copy_from}$* $| $* $#copy $@ localhost $: $3 R$* $| $* $@$2 .... Mcopy, P=/root/copymail.pl,, F=lsDFMAw5:/|@qShP, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=/root/copymail.pl $u Komentarz: regułki sprawdzają czy klient należy do klas[y] zdefiniowanych w /etc/mail/copyfrom. Warto tam dostawić 127.0.0. Jeżeli tak, ustawiany jest mailer copy. [Jest on kopią mailera local z procmailem -- nie miałem innego przykładu.] Mailer copy uruchamia skrypt w perlu z argumentem $u czyli od kogo list. [copymail.pl] #!/usr/bin/perl $f = "/root/copied-mail"; $tim = localtime; open (OUT, ">>$f") || die "cannot write '$f': $!"; foreach (@ARGV) { print OUT "$tim ** MAIL FOR: $_\n"; $to = $_; } while () { print OUT; if (/^From /) { ($tmp, $from) = split / /; open (SEND, "|sendmail -oi -t -f $from") || die "cannot sendmail: $!"; print OUT "$tim ** sendmail -oi -t -f $from\n"; next; } print SEND; } close (SEND); print OUT "**********\n"; close (OUT); Komentarz: plik we $f powinien mieć prawdopodobnie 666 -- no chyba, żeby ustawić wywołanie copymail.pl jako root [nie wiem czy jest -- nie mam przy sobie knigi o sendmailu i nie sprawdzę]. Sposób działa dla poczty wy- i wchodzącej, prócz tej wysyłanej z commandline. Nie jest to doskonałe, ale działa przynajmniej u mnie. -- __________________________________________________________________________ rafal wiosna * Polbox On-Line Service * Fidonet 2:480/33 * In ARP we trust Powered by /usr/local/bin/joe B.O.F.P [alias|free].polbox.pl admin * AR155 RAFD-RIPE * http://www.ALFAROMEO.polbox.pl * moje opinie sa wylacznie moje