Verder Terug Inhoud

6. Mail automatisch naar folders sorteren

Als je net als ik zo ongeveer 3.500 berichten per dag krijgt, dan moet je iedere keer dat je je mail hebt opgehaald, je door alle berichten doorworstelen op zoek naar een bepaald bericht dat je interesse heeft.

Dankzij Procmail is dit geen probleem meer.

Procmail werkt als volgt: Procmail bestudeert ieder bericht als het is gedownload, en zal hier een serie taken gebaseerd op bepaalde regels die je zelf opgeeft op uitvoeren.

Stel bijvoorbeeld dat ik elke dag van een bepaalde mailinglist zo ongeveer 200 berichten per dag krijg (in dit voorbeeld maak ik gebruik van de linux-foo lijst). In plaats dat nu al die berichten direct in mijn inbox worden geplaatst, zou het prettiger zijn als ze automatisch werden gefilterd en in een box genaamd "foo-list" zouden worden geplaatst.

De eerste stap bestaat hieruit een voorbeeld mailbericht van die mailinglist te nemen en hier de mailheaders van te bestuderen.

Ik begin een patroon op te merken. Ieder bericht dat van die mailinglist afkomstig is heeft een regel met daarin:

Sender: owner-linux-foo@bar.foogers.com

Ik kan procmail nu opgeven ieder bericht met deze regel in een bepaalde folder te plaatsen.

Dit opgeven aan procmail doe ik door middel van een ".procmailrc" bestand.

Ik zal mijn favoriete teksteditor gebruiken om een tekstbestand genaamd ".procmailrc" in mijn homedirectory aan te maken.

Het bestand zal er ongeveer zo uit komen te zien:


LOGFILE=$HOME/.pmlog
MAILDIR=$HOME/mail
VERBOSE

# linux-foo list
:0 Hw
* ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu
foo-list

# als het tot zover is gekomen, plaats het dan in mijn newmail mailfolder
:0 Hw
newmail

Bestudeer de "[Ss]ender" regel. Het zal je zijn opgevallen dat die regel hetgene is wat alle berichten van die mailinglist gemeen hebben.

In dat deel wordt aan procmail opgegeven dat wanneer het een bericht ziet met een header die er uitziet zoals aangegeven, het in de folder "foo-list" te plaatsen.

In het volgende deel wordt aangegeven dat als het bericht niet met iets wat daarboven staat overeenkomt, dat het bericht gewoon in newmail moet worden geplaatst.

Stel dat ik iedere keer dat ik een bericht krijg van mijn goede vriend, EJ, dat ik wil dat het naar een folder genaamd "EJ" gaat.

Ik maak een gewoon een nieuwe sectie aan in mijn procmailrc bestand. Zie hieronder:


LOGFILE=$HOME/.pmlog
MAILDIR=$HOME/mail
VERBOSE
 
# linux-foo list
:0 Hw
* ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu
foo-list

# Bericht van E.J.!
:0 Hw
* ^.*[Ff]rom: ej@mypal.com
ej
 
# als het tot zover is gekomen, plaats het dan in mijn newmail mailfolder
:0 Hw
newmail

Let op het deel voor EJ. Wanneer een bericht binnenkomt met zijn e-mailadres in het veld "From", zal het automatisch in de "ej" folder worden geplaatst.

Stel nu dat daarbuiten een of andere zeurpiet is die me maar blijft emailen. Ik wil helemaal niets van hem horen, maar hij blijft aanhouden. Wederom kan procmail hierbij helpen.

Dus stel dat ik nooit meer mail te zien wil krijgen van ene Bill Gates. Ik kan mijn setup zo instellen dat alle mail van hem afkomstig zal worden verwijderd. Kijk eens naar mijn nieuwe procmailrc:



LOGFILE=$HOME/.pmlog
MAILDIR=$HOME/mail
VERBOSE
 
# Is het afkomstig van Bill Gates?  Zo ja, VERWIJDER HET!!!
:0 Hw
* ^.*[Ff]rom: bgates@microsoft.com
/dev/null

# linux-foo list
:0 Hw
* ^.*[Ss]ender: owner-linux-foo@bar.foogers.edu
foo-list
 
# Bericht van EJ!
:0 Hw
* ^.*[Ff]rom: ej@mypal.com
ej
 
# als het tot zover is gekomen, plaats het dan in mijn newmail mailfolder
:0 Hw
newmail

Nu heb ik een wel aardig procmailrc bestand. Laten we eens bekijken wat procmail bij ieder bericht doet wanneer het binnenkomt.

Controleer als eerste of het bericht afkomstig is van "bgates@microsoft.com". Zo ja, verwijder het dan en het is klaar.

Als het bericht door de eerste controle heenkwam, zal het bezien of "owner-linux-foo@bar.foogers.edu" in de headers voorkomt. Als dit zo is, zal het 't bericht in de "foo-list" folder plaatsen, en is het hiermee klaar.

Als het bericht ook dat heeft gepasseerd, dan controleert het of het bericht afkomstig is van EJ. Zo ja, dat plaatst het 't bericht in de folder "ej".

Als het bericht nu alle testen is gepasseerd, dan zou het gewoon in de newmail folder geplaatst moeten worden.

Zodra deze folders op hun plaats staan en procmail de mail juist filtert, kun je TkRat, "Admin - New/Edit folder" activeren en voor iedere naam de folders aanmaken. Ze zullen te vinden zijn onder /home/gebruikersnaam/mail/foldernaam.


Verder Terug Inhoud