Cyrus - Sieve filtering
De gacq wiki
Yo configure el cyrus para que el archivo de filtrado este ubicado en el home de cada usuario. Para hacer esto modifique el archivo /etc/imapd.conf descomentar o agregar el siguiente parámetro
sieveusehomedir: true
Luego crea en el home de usuario un archivo llamado ".sieve"
ejemplo de mi .sieve:
require ["fileinto"];
if header :contains "Subject" "[Alumnos]" {
fileinto "INBOX.Facultad";
} elsif header :contains ["To", "Cc"] ["alumnos@lista-1.dc.uba.ar", "alumnos@dc.uba.ar", "todos@lista-1.dc.uba.ar", "todos@dc.uba.ar", "docentes@dc.uba.ar"] {
fileinto "INBOX.Facultad";
} elsif header :contains ["From"] ["T-knos", "INFOmail"] {
fileinto "INBOX.T-knos";
} elsif header :contains ["Subject"] ["Informatica y Derecho", "Informática y Derecho"] {
fileinto "INBOX.Informacion";
} elsif header :contains ["Subject"] ["[Netoffice-Refert]"] {
fileinto "INBOX.Trabajos.NetOffice";
} elsif header :contains ["Subject"] ["[JavaSpecialists]"] {
fileinto "INBOX.Informacion.Java";
} elsif header :contains ["Subject"] ["(SPAM)"] {
fileinto "INBOX.Junk";
} elsif header :contains "Subject" "[CVS" {
fileinto "INBOX.CVS";
} elsif header :contains ["to", "Cc"] ["hibernate@bauna.com.ar", "hibernate-devel@lists.sourceforge.net"] {
fileinto "INBOX.Hibernate";
} elsif header :contains ["to", "Cc"] ["debian-news@lists.debian.org"] {
fileinto "INBOX.Debian";
} else {
fileinto "INBOX";
}
Si no tenemos el usuario local
geacequ:/srv/admin/sieve# sieveshell --user=gacqlist2 --authname=cyrus localhost connecting to localhost Please enter your password: > put gacqlist2.sieve > activate gacqlist2.sieve > list gacqlist2.sieve <- active script > quit
Errores
geacequ:/srv/admin/sieve# sieveshell --user=usuario --authname=cyrusadmin --exec=usuario.sieve 127.0.0.1 connecting to 127.0.0.1 Bad protocol from MANAGESIEVE server: EOL2
Esto es porque hay que comentar "sieveusehomedir: true" en /etc/imapd.conf