sieve isnt filtering mail

Holm Kapschitzki holm at x-provi.de
Wed Jun 28 14:35:06 EDT 2006


Hi,

i have a problem with one server to filter the mail with sieve to the 
right directories. I setup confixx, cyrus-imap, procmail and spamd on a 
debian system. i use cyrus 2.2.13. The Mails are scanned by spamd very 
well and after that cyrdeliver put the mails in the right folder. This 
works fine. I have to use procmail cause spamd fetches the preferences ( 
spam level ) out of a mysql database from confixx. But sieve will not 
work, thats my great problem. Her i post some logs and confs:

postfix
main.cf:

mailbox_command = procmail -a "$EXTENSION"

master.cf:

cyrus     unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m 
${extension} ${user}

procmail  unix -       n      n      -      -       pipe
  flags=R user=cyrus argv=/usr/bin/procmail -t -m USER=${user} 
EXTENSION=${extension} /etc/procmailrc

procmailrc:

DROPPRIVS=yes
LOGFILE=/var/log/procmail.log
VERBOSE=ON
SHELL=/bin/sh

DELIVERMAIL="/usr/sbin/cyrdeliver"
#IMAP="/usr/sbin/cyrdeliver -a $USER -m INBOX $USER"
IMAP="$DELIVERMAIL -a $LOGNAME -m user.$LOGNAME"

:0fw
* < 256000
| /usr/bin/spamc -f

:0 H
* ! ^From[ ]
* ^rom[ ]
{
    LOG="*** Dropped F off From_ header! Fixing up. "

    :0 fhw
    | sed -e 's/^rom /From /'
}

:0fw
| formail -f -I "From "

:0w
| $IMAP

imapd.conf:

configdirectory: /var/lib/cyrus
partition-default: /var/spool/cyrus/mail
admins: root cyrus
sasl_pwcheck_method: saslauthd
sasl_auto_transition: no
sasl_mech_list: plain login
srvtab: /var/imap/srvtab
allowanonymouslogin: no
allowplaintext: yes
lmtpsocket: /var/run/cyrus/socket/lmtp
idlesocket: /var/run/cyrus/socket/idle
notifysocket: /var/run/cyrus/socket/notify
sieveusehomedir: false
sievedir: /var/spool/sieve

here is a log on a server where sieve works:

Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: duplicate_check: 
<44A29700.6040301 at sender.com>          example.com!user.foo 0
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: mystore: starting txn 2147503790
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: mystore: committing txn 
2147503790
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: duplicate_mark: 
<44A29700.6040301 at sender.com>          example.com!user.foo 1151506197 2037
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: mystore: starting txn 2147503791
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: mystore: committing txn 
2147503791
Jun 28 16:49:57 srv1 cyrus/lmtpunix[21970]: duplicate_mark: 
<44A29700.6040301 at sender.com>          .foo+ at example.com.sieve. 1151506197 0


here is a log on the server where sieve doesnt work ! You will see the missing sieve in the last line


Jun 28 17:24:55 srv4 cyrus/lmtpunix[30283]: duplicate_check: 
<44A29F35.3070907 at sender.com>            user.web3p1          0
Jun 28 17:24:55 srv4 cyrus/lmtpunix[30283]: duplicate_check: 
<44A29F35.3070907 at sender.com>            user.web3p1          0
Jun 28 17:24:55 srv4 cyrus/lmtpunix[30283]: mystore: starting txn 2147484169
Jun 28 17:24:55 srv4 cyrus/lmtpunix[30283]: mystore: committing txn 
2147484169
Jun 28 17:24:55 srv4 cyrus/lmtpunix[30283]: duplicate_mark: 
<44A29F35.3070907 at sender.com>            user.web3p1          1151508295 0


sieveshell is working:

srv4:~# sivtest -a web3p1 localhost
S: "IMPLEMENTATION" "Cyrus timsieved v2.2.13-Debian-2.2.13-2bpo1"
S: "SASL" "LOGIN PLAIN"
S: "SIEVE" "fileinto reject envelope vacation imapflags notify subaddress relational comparator-i;ascii-numeric regex"
S: OK
C: AUTHENTICATE "LOGIN"
S: {12}
S: VXNlcm5hbWU6
Please enter your password:
{8+}
C: d2ViM3Ax
S: {12}
S: UGFzc3dvcmQ6
{8+}
C: MjQwMjQ5
S: OK
Authenticated.
Security strength factor: 0

web3p1 is the confixx user who gets still his mails, thats not the problem but without filtering.

sivtest -u web3p1 localhost doesnt work.

i tested to make a script with sieveshell:

srv4:~# sieveshell --auth=web3p1 localhost
connecting to localhost
Please enter your password:
> ..........

the sieve script was saved on /var/spool/sieve/w/web3p1 with all files and i think with cyrus rights.

Thats is bit different to the mails, they were stored on : /var/spool/cyrus/mail/users/web3p1

I created the the sieve filter with squirrelmail avelsieve, too. They were stored on the same place.
But the mail filter isnt working. Whats my problem. I have tried a lot, but now i am without latin .....

With my constellation i had to use:

mailbox_command = procmail -a "$EXTENSION" 

but with this i had to make 751 on on /var/run/cyrus/socket /owner cyrus//group mail but everytime a started cyrus-imap again the rights are changed to 750 and then "cyrus/lmtpunix -> lmtp denied"

if i chaange main.cf (postfix) to:

mailbox_command = procmail
 -> there is no lmtp problem. Ithink its the problem with the user web3p1 but i have to do this cause of procmail spamd and the confixx spamd local.cf for every user.

But for now :) sieve is my big problem. What to do ?

Greetings Holm














More information about the Info-cyrus mailing list