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.