Sendmail+RoundCube+Dovecot+Sieve

Zašto uopšte stavljati ManageSieve i RoundCube na Dovecot?
Zato što time dobijate mogućnost filterovanja poruka na nivou pojedinačnog korisnika, prema njegovim ličnim željama. Takođe (uz pravilno podešavanje) filter može da šalje i tzv “autoreply” (automatska pošta-odgovor kada neko nije u kancelariji/na poslu).

Vezije :
OS – RHEL 6U2
Sendmail – 8.14.4-8, sve više ljudi koristi postfix, ali ja znam sensmail…
RoundCube – 0.8.1 – neophodan, jer je u stanju da prikaže filter kada se korisnik prijavi na webmail
Dovecot – 2.09-2
Dovecot-pigeonhole-2.0.9-2

Šta sve treba da se podešava :
/etc/mail/sendmail.mc
/etc/dovecot/dovecot.conf
/usr/share/sendmail-cf/mailer/dovecot.m4

Sendmail.mc :
FEATURE(`local_procmail’, `/usr/libexec/dovecot/deliver’, `deliver -d $u’, `SPhun9′)dnl
Ne mora ništa drugo da se menja/dodaje.
Ovaj fajl : /usr/libexec/dovecot/deliver je u stvari link ka /usr/libexec/dovecot/dovecot-lda (local delivery agent).
Dovecot.conf :
Ovo je ceo konfiguracioni fajl.
listen = *
log_path = /var/log/dovecot.log
login_trusted_networks = 10.0.0.0/8
mail_debug = yes
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
mbox_write_locks = fcntl
passdb {
driver = pam
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
protocols = imap lmtp sieve pop3
service auth {
unix_listener auth-master {
group = mail
mode = 0664
user = mail
}
user = root
}
service managesieve-login {
inet_listener sieve {
port = 4190 port na kome radi sieve
}
process_min_avail = 1
service_count = 1
vsz_limit = 64 M
}
service managesieve {
process_limit = 10
}
plugin {
sieve = ~/.dovecot.sieve lokacija lokalnog filtera kod korisnika
sieve_dir = ~/sieve
sieve_global_dir = /var/lib/dovecot/sieve/global/
}
service pop3-login {
inet_listener pop3 {
port = 110
}
}
ssl_cert = ovo je lokacija na kojoj se nalazi lib90_sieve_plugin.so
mail_plugins = $mail_plugins sieve
plugin {
sieve = ~/.dovecot.sieve
}
postmaster_address = postmaster@localhost
}
protocol lmtp {
info_log_path = /var/log/dovecot-lmtp.log
log_path = /var/log/dovecot-lmtp-errors.log
mail_plugins = $mail_plugins sieve
}
Dovecot.m4 :
Mdovecot, P=/usr/libexec/dovecot/deliver, F=DFMPhnu9,
S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFromSMTP,
T=DNS/RFC822/X-Unix,
A=/usr/libexec/dovecot/deliver -d $u

Kada se sve završi, treba i testirati :
Testiranje Sieve filtera koji se kreira u /home/username/.dovecot.sieve fajlu (prema gornjoj konfiguraciji) može se raditi ovde.

Testiranje Dovecot konekcije :
Sa bilo koje mašine :
Verzija 1 :
>telnet IP-adresa-servera 4190
“IMPLEMENTATION” “dovecot”
“SIEVE” “fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap
4flags copy include variables body enotify environment mailbox date”
“NOTIFY” “mailto”
“SASL” “PLAIN”
“STARTTLS”
“VERSION” “1.0”
OK “Dovecot ready.”
AUTHENTICATE “PLAIN” “AGRldGxlZgBkZXRsZWY=” Ovo je logovanje sa user+pass ali hešovani.
Skripta za generisanje se nalazi ovde.
OK “Logged in.”
listscripts
“managesieve” ACTIVE
OK “Listscripts completed.”
BYE “Disconnected for inactivity.”
Connection to host lost.

Verzija 2, radi se direktno sa servera, i proverava da li je dovecot.conf podešen kako treba :
# cat /etc/hosts | /usr/libexec/dovecot/deliver -d moj.nalog@gmail.com
A u /var/log/dovecot.log :
Oct 18 09:26:14 lda: Debug: Loading modules from directory: /usr/lib/dovecot/
Oct 18 09:26:14 lda: Debug: Module loaded: /usr/lib/dovecot//lib90_sieve_plugin.so
Oct 18 09:26:14 lda: Debug: auth input: