Kako filtrirati poštu ka mailing listi – RHEL6U2

Dakle *#?@ koju sam morala da izvedem da nalog elektronske pošte koji je ujedno i mailing lista za nekig 150 adresa prosleđuje poruke poslate SAMO preko mog domena, a poruke sa ostalih domena automatski briše.
Nalog mailing liste je lista1@moj.domen
U /home/lista1 se stavljaju dva fajla :
.forward – u njemu je samo jedna linija, kojom pozivamo Procmail (u ranijim verzijam a RHEL-a to je automatski proces, ovde nije, iz misterioznih razloga) :
|exec /usr/bin/procmail
I treba napraviti i fajl .procmnailrc, isto u /home/lista1 :
.procmailrc :
SHELL=/bin/bash
LOGFILE=/home/lista1/procmail.log
VERBOSE=on
:0
* ^(To).*(lista1@moj.domen)
* !^(From).*(moj.domen)
/dev/null
#########
:0
* ^(To).*(lista1@moj.domen)
! korisnik1@domen1 korisnik2@domen2 korisnik3@domen3

Koja su prava i vlasništva nad ova dva fajla :
-rw-r–r– 1 root root 24 Oct 22 08:01 .forward
-rw-r–r– 1 root root 144 Oct 22 08:08 .procmailrc

PAZITI!!!! Postoji ograničenje na broj naloga na koji se mail može proslediti (ne znam koliki je, ali je sigurno manji od 120).
Rešenje je u tom slučaju raditi filtriranje na nalog1, pa sa njega proslediti na nalog2, i onda na nalog2 raditi klasični .forward fajl prosleđivanje, koje (koliko ja znam) nema ograničenje na broj naloga na koji se pošta prosleđuje (sigurno je broj iznad 300).

U /home/lista1 ručno napraviti log fajl, sa sledećim pravima :
-rwxrwxrwx 1 root root 2896 May 29 10:08 procmail.log

#######################################################################################

Kako filtrirati korisničku poštu (na nivou jednog korisnika) :
Relevantni fajlovi se nalaze u /home/nalog/
-rw-r–r– 1 root root 24 Oct 22 08:01 .forward
-rw-r–r– 1 root root 144 Oct 22 08:08 .procmailrc
Fajl .forward :
|exec /usr/bin/procmail
Fajl .procmailrc, u ovom slučaju se sva posta sa nalog@verat.net prosleđuje na nalog2@yahoo.com bez da korisnik nalog@moj-domen zna da mu je pošta uopšte stigla (krajnji primalac (nalog2@yahoo.com vidi da je pošta preusmerena sa nalog@moj-domen) :
SHELL=/bin/bash
LOGFILE=/home/nalog/procmailrc.log
VERBOSE=on
:0
* ^(From).*(nalog1@verat.net)
#prosledjivanje poste
! nalog2@yahoo.com

Ako je potrebno mail poruke i ostaviti u lokalu, i proslediti na neki drugi nalog :
SHELL=/bin/bash
LOGFILE=/home/nalog/procmailrc.log
VERBOSE=on
:0
* ^(From).*(nalog1@verat.net)
#prosledjivanje poste
! nalog2@yahoo.com
#sve ostalo ide normalno
:0 c
* ^(To).*(nalog@moj-domen)
! nalog@domen2

Ceo gvint je u slovu “c” koje označava “copy”, tj ostavi poruke tu.

A ako je potreban autoreply na sve pristigle poruke, :
SHELL=/bin/bash
LOGFILE=/home/korisnik1/procmailrc.log
VERBOSE=on
#Autoreply na svaki dolazni mail
:0 h c
* !^FROM_DAEMON
* !^X-Loop: korisnik1@moj.domen
| (formail -r -I”Precedence: junk” \
-A”X-Loop: korisnik1@moj.domen” ; \
echo “Bla bla test.”) | $SENDMAIL -t
#########

This entry was posted in Linux and tagged . Bookmark the permalink.

Comments are closed.