Dovecot

Allikas: Kuutõrvaja

Sissejuhatus

Dovecot.png

On lihtne kuid võimekas ja kiirelt arenev imap ja pop3 server mis toetab nii mbox kui maildir formaati, SSL krüpteerimist ja autentimist ning kirjade indekseerimist. Ka oskab Dovecot kasutada autentimisel erinevaid andmebaase näiteks MySQLi, PostgreSQLi, LDAPi või kasutada neid suisa paraleelselt, samuti on Dovecot clusterdamise toega.

Ametlikuks koduleheks on tarkvaral http://www.dovecot.org/

Dovecot on laiemalt tuntud tarkvara mida võib leida enamuse levinud operatsioonisüsteemide näiteks Linux, Solaris, FreeBSD, OpenBSD, NetBSD ja Mac OS X pakihaldusest ning seetõttu pole paigaldusprotsessil arvatavasti tarvidust pikemalt peatuda.

NB Käesolevas teksti on kirjutatud 1.2.6 versioonile tuginedes.

Kasutusnäide

Järgnevalt serveri seadistusfail, kus kasutusel nii imap kui imaps ehk siis plaintext ja ssl krüpteeritud imapi ühendused ja autenditakse vastu pam'i ehk kasutajate info asetseb passwd faili

fail dovecot.conf (asub vastavalt operatsioonisüsteemile kas /etc või /usr/local/etc all)

 # kasutatavad protokollid, lisada võib veel pop3 ja pop3s
 protocols = imap imaps
 
 log_timestamp = "%Y-%m-%d %H:%M:%S "
 log_path = /var/log/dovecot.log
 
 # kuulatakse porte 143 ja 933 kõigil võrguseadmetel
 protocol imap {
  listen = *:143
  ssl_listen = *:993
 }
 
 disable_plaintext_auth = no
 
 # ssl sertifikaadid
 ssl_cert_file =/usr/local/certs/server.crt
 ssl_key_file = /usr/local/certs/server.key
 
 #kasutusel on mbox formaat, asuvad need kasutaja kodukataloogis kaustas mail ja /var/mail all
 mail_location = mbox:~/mail/:INBOX=/var/mail/%u
 mail_privileged_group = mail
 verbose_proctitle = yes
 
 first_valid_gid = 0
 mail_cache_fields = flags, date.sent, date.received, size.virtual, size.physical, mime.parts,  imap.body, imap.bodystructure
  
 protocol imap {
  imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
 }
 # autentimise mehanismused ehk pam ja passwd fail
 auth default {
  mechanisms = plain login
   passdb pam {
  }
   userdb passwd {
 }
 
 #socket autentimiseks
 socket listen {
  client {
    path = /var/spool/postfix/private/auth
    mode = 0660
    user = postfix
    group = postfix
   }
  }
 
 }

Dovecot SASL toetus on olemas alates Postfixi 2.3 versioonist. Postfixi poolelt on vaja esiteks defineerida autentimise socketi asukoht. Tark on viidata rajaga postfixi saba (queue) kausta sest siis saab seda kasutada ka chroot keskonnas asuva postfix korral.

avame selleks faili /etc/postfix/main.cf

smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth

Dovecoti poolelt on vaja siis samuti defineerida vastav rada socketini mida autentimise informatsiooni vahetamiseks kasutatakse. Antud ülal asuvas näites määratakse see kõige viimases plokis.

Autentimisest leiab pikkemalt juttu postfixi enda lehel

Lisaks on vajalik genereerida ja paigaldada sertifikaadid

$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ openssl x509 -req -days 300 -in server.csr -signkey server.key -out server.crt
$ openssl rsa -in server.key -out server.key

Mis produtseerib failid server.crt ja server.key Mis kopeerida nt siis /usr/local/certs all

/usr/local/certs/server.crt
/usr/local/certs/server.key


Palju seadistusnäiteid leiab http://wiki.dovecot.org/HowTo

Muud kasutusjuhud

Mbox, mis on vananenud ja tülikas formaat asemel kasutades maildiri võib kirjutada konfis mail_location rea järgnevalt

mail_location = maildir:~/Maildir

Samuti suudab dovecot olla rohkem kui vaid imapi klient ja näiteks LDA abil võtta maili vastu MTA'lt (postfix nt) ja ise kirjutada selle kasutaja kaustadesse ja failidesse.

Paljusid võtmeid ning kasutusvõimalusi seletakse lahti ametlikus wikis http://wiki.dovecot.org/

Probleemid

Mõne Dovecoti versiooni uuenduse järel on juhtunud olukordi kus failide formaat muunud ning ta annab mailogisse veateateid

imap-login: Login: user=<mart>, method=PLAIN, rip=192.168.10, lip=192.168.1.7
IMAP(mart): FETCH for mailbox INBOX UID 5249 got too little data: 1607 vs 1646
IMAP(mart): Disconnected: Disconnected bytes=84/43456 

Seljuhul teeb asja korda kasutaja kodust dovecot.index.* failide kustutamine.

# find /home -type f -name "dovecot.index" -ls -exec rm  {} \; 

Lingid ja lisamaterjal

http://en.gentoo-wiki.com/wiki/Dovecot/Install