Tampereen yliopisto
Tietokonekeskus
 

etusivu: sähköposti ja www: ohjeet: sähköpostin suodattaminen

Sähköpostin suodattaminen



Jos saat paljon sähköpostia esimerkiksi postituslistojen vuoksi, olet varmaan huomannut, että sähköpostilaatikko kasvaa helposti aivan liian suureksi ja hankalaksi käsitellä. Tämän vuoksi on kehitetty sähköpostia suodattavia apuohjelmia, jotka tallettavat viestejä eri tiedostoihin käyttäjien antamien sääntöjen perusteella.

Yliopiston Unix-koneilla on käytössä tähän tarkoitukseen ohjelma nimeltä procmail. Seuraavassa lyhyt johdatus ohjelman käyttöön.

HUOM1! Ohjelmaa kannattaa käyttää vain, jos luet postisi jollakin Unixin (kielon) ohjelmalla, esim. Pine.  Eudoran, Pegasuksen, Netscape Mailin ja vastaavien ohjelmien käyttäjien ei ole syytä suodattaa postiaan näin!

HUOM2! Ohjelmaa ei kannata käyttää kaiken postisi uudelleenohjaukseen toiseen osoitteeseen yliopistolaisille.

Jos et halua erilaisten mainostajien roskapostia itsellesi, mailifilttereillä on mahdollista estää niiden tuleminen. Yliopiston postipalvelin tosin suodattaa suuren osan roskapostista, mutta monet pääsevät kuitenkin senkin läpi käyttäjän postilaatikkoon. Katso ohjeita roskapostin suodattamisesta SpamAssasinin avulla, myös Jari Aalto on koonnut hyvän linkkilistan tähän liittyen.


Procmail

Procmail on toinen vaihtoehto sähköpostin suodattamiseen. Se olettaa, että säännöt suodattamista varten löytyvät kotihakemistosi tiedostosta nimeltä .procmailrc (huomaa, että piste kuuluu tiedoston nimeen). Pääset muokkaamaan  tiedostoa jommallakummalla seuraavista komennoista:

     kielo% emacs .procmailrc
     kielo% pico .procmailrc
riippuen siitä, mitä tekstieditoria olet tottunut käyttämään. Tiedoston sisältö voi näyttää esimerkiksi tällaiselta:
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/mail
DEFAULT=$HOME/mail/tunnus # korvaa sana 'tunnus' kielon käyttäjätunnuksellasi
LOGFILE=$MAILDIR/procmail.log

#
# ohjataan tietyt meilit toiseen osoitteeseen
#
:0
* ^From: .*cconol@uta.fi
! joku.muu@jossain.fi

#
# testimeilit omaan kansioon
#
:0
* ^Subject: .*test*
testimeilit

#
# listameilit omaan listameilit nimiseen kansioon IMAP-palvelimella
# HUOM listameilit niminen kansio pitaa olla olemassa ennenkuin
# sinne voi sahkopostiviesteja.
#
:0 w: .deliverwrap.tunnus # korvaa sana 'tunnus' kielon käyttäjätunnuksellasi
* ^To: .*lista@jossain.fi
| /usr/local/bin/cyrus_deliver listameilit

#
# loput meilit INBOXiin
#
:0 w: .deliverwrap.tunnus # korvaa sana 'tunnus' kielon käyttäjätunnuksellasi
| /usr/local/bin/cyrus_deliver

#
# Jos tuli jokin virhe, niin palautetaan tieto siitä kutsuvalle ohjelmalle
#
EXITCODE=$?
:0
/dev/null

Yllä oleva  lähettää osoitteesta cconol@uta.fi  tulleet viestit edelleen osoitteeseen joku.muu@jossain.fi. Viestit, joiden otsikkokentästä löytyy merkkijono "test", talletetaan $HOME/mail -hakemiston tiedostoon testimailit ja osoitteeseen lista@jossain.fi tulleet viestit tallettuvat IMAP-postikansioon listamailit.

Viimenen sääntö on sitä varten, että sellaiset viestit, jotka eivät sovi mihinkään muuhun sääntöön talletetaan normaaliin tapaan omaan IMAP-sähköpostilaatikkoon.

LOGFILE-rivi määrittää tiedoston, johon menee tietoa siitä, mitä procmail on tehnyt. Jos postia tulee paljon, tämä tiedosto kasvaa varsin nopeasti ja voi olla syytä tuhota se aina aika ajoin, ettei levytilakiintiö täyty.

Lopuksi pitää vielä ohjata oma sähköposti Procmail-ohjelmalle. Tätä varten täytyy luoda tiedosto nimeltä .forward (huomaa taas, että piste kuuluu tiedoston nimeen). Voit muokata tuotakin tiedostoa joko Emacsin tai Picon avulla. Ensi vaiheessa kannattaa sisällöksi laittaa:

\tunnuksesi, "|/ext/bin/procmail"
Korvaa vain "tunnuksesi"-sana omalla käyttäjätunnuksellasi. Tämä on sitä varten, että jos suodatus ei jostain syystä toimikaan, niin sinulle jää postilaatikkoon silti kopio kaikista tulleista sähköpostiviesteistä. Jos ja kun toteat suodatuksen toimivan, niin tiedoston sisällöksi riittää pelkkä:
"|/ext/bin/procmail"
Lisää tietoja Procmail-ohjelmasta saa komennoilla
     kielo% man procmail     (yleistä)
     kielo% man procmailrc   (.procmailrc-tiedoston syntaksi)
     kielo% man procmailsc   (tarkempia ohjeita)
     kielo% man procmailex   (esimerkkejä)
Huomaa, että tuolla manuaalisivulla annetaan yksi neuvo, joka ei  toimi yliopiston järjestelmässä (turvallisuussyistä): .forward-tiedoston sisällöksi opastetaan laittamaan:
"|IFS=' '&&exec /usr/local/bin/procmail -f-||exit 75 #YOUR_USERNAME"
mutta yliopistolla tuohon siis riittää pelkkä:
"|/ext/bin/procmail"

Postitus
Friday, 16-Apr-2004 14:38:59 EEST