Fetchmail

Allikas: Kuutõrvaja


Fetchmail

Fetchmaili abil saab kasutaja kopeerida postimasinast oma posti kohalikku arvutisse. Tüüpiliselt kasutatakse Fetchmaili selleks, et näiteks modemi abil tekitatud lühiajalise võrguühenduse vältel kogu post ära kopeerida, ühendus lõpetada ning siis hiljem kirju uurida. Fetchmail ei tegele kirjade filtreerimisega ega ühenduse krüptimisega. Fetcmaili ei kasutata kirjade väljasaatmiseks.

Fetchmaili tööskeem

Fetchmail suhtleb eeslistatult IMAP4rev1 postiserveriga, kuid toetab ka teisi, näiteks POP2, POP3. Joonisel kujutatakse postimasinat ja kasutaja arvutit ning Fetchmaili rolli

   kasutaja arvuti                       postimasin   

     ---                                   ___
    |   |   Fetchmail transpordib posti   |   |
    |___| ------<------------------------ |___|
        
      MTA (Sendmail)                     IMAP4rev1
      

Niisiis, Fetchmail toob postimasinast kopeeritud kirjad vaikimisi kasutaja arvuti 25 pordi taga kuulavale serverile, milleks on tavaliselt Sendmail. Sellise asjakorralduse heaks on see, et kasutaja masinasse saabub e-post standardsel viisil ja seepärast saab seal kasutada kõiki tavalisi posti laialijaotamise vahendeid, näiteks Procmaili.

Fetchmaili käivitamine

Fetchmail käivitatakse kas crontabist või käsurealt. Näites kopeerib kasutaja postimasinast post.zoo.tartu.ee sealsele kasutajale priit saabunud uued kirjad ära, misjärel nad kustutatakse postimasinast

bash~$ fetchmail -u priit post.zoo.tartu.ee

Fetchmail valib vaikimisi ise postimasinast talle kõige sobivama postiserveri.

Konfiguratsioonifail

Tavaliselt peidetakse käsurea argumendid kasutaja 'run control' fail ~/.fetchmailrc, mis lihtsal juhul võiks olla selline poll post.zoo.tartu.ee username "priit" password "ebones"

Fetchmaili võib nüüd käivitada ilma käsurea argumentideta.

Vaikimisi tegeleb Fetchmail kasutaja selle e-posti failiga, kuhu postimasina kohalik meiler vaikimisi posti salvestab. Näiteks kasutaja priit puhul on selleks fail /var/spool/mail/priit. Kasutades IMAP postiserverit, on võimalik pääseda ligi ka teistele kirjakastidele, mis asuvad kasutaja postikataloogis, näiteks mail/ZOO, mail/mart, mail/allumatud

poll post.zoo.tartu.ee protocol imap port 143 user "priit" password "ebones" folder \
"mail/ZOO", "mail/mart", "mail/allumatud"

Kui konfiguratsioonifaili jätta parool kirjutamata, mis on tegelikult õige, siis küsitakse kasutajalt seda. Võib näidata ära ka mitu postiserverit ja mitu kasutajanime ning kellele saabunud e-kirjad soovitakse ära kopeerida. Konfiguratsioonifaili rida saab jätkata tagurpidi kaldkriipsuga (\).

Konfiguratsioonifaili rea süntaks on selline

poll postiserver serveri_võtmed kasutaja_võtmed

Fetchmaili kasutamisel on kõige tihedamini esinev viga serveri ja kasutaja võtmete järjekorra äravahetamine.

Serveri võtmed:

protocol 
port 

Kasutaja võtmed:

username - postiserveri kasutaja kasutajanimi 
password - postiserveri kasutaja parool 
folder - postiserveri kasutaja kirjakastid 
limit 10000 - mitte tõmmata kirju, mis on üle 10 000 B 
keep - kopeerida ja serverist mitte kustutada 
preconnect - programm käivitatakse enne Fetchmaili 
postconnect - programm käivitatakse peale Fetchmaili 

Lisaks nimetatutele saab käsurealt anda võtme '-a', mispeale kopeeritakse kõik kirjad - uued ja vanad.

Fetchmail üle SSH kanali

Kuna Fetchmail ei sisalda krüptimise vahendeid, siis tuleb kasutada väliseid võimalusi. Üheks võimaluseks on SSH abil pordi ümbersuunamine.

Järgneva tehnika rakendamine eeldab, et kasutajal on SSH klient ja postimasinas töötab SSH server. Suurema kasutamismugavuse saavutamiseks võite paigutada oma SSH avaliku võtme postimasinasse.

Fetchmail võimaldab käivitada programme enne (preconnect) ja peale ennast (postconnect). Antud juhul suunatakse vahetult enne Fetchmaili käivitamist SSH abil postiserveri port 143 ümber kohalikku porti 12345. Seejärel suhtleb Fetchmail postiserveriga kohaliku pordi abil ja kogu liiklus toimub üle SSH kanali.

poll post.zoo.tartu.ee via localhost port 12345 with proto imap username "priit" password "ebones" \
preconnect "ssh -l priit -f -L 12345:post.zoo.tartu.ee:143 post.zoo.tartu.ee sleep 20 </dev/null >/dev/null";

Avatud parooli kirjutamisega peab olema ettevaatlik.

Kasulikud lisamaterjalid

Fetchmaili veebikoht Procmail Pine PGP

© EENet 2000