My mail server is configured as follows:

sendmail -> procmail -> formail -> spamc -> deliver

As it stands, mail is delivered to the user's INBOX. I decided I wanted to do spamassassin filtering serverside. For whatever reason, my script isn't being read, and there is no mention of sieve in the imapd.log. Hopefully it's something easy that I've overlooked. I talked with someone in #cyrus on freenode, and they thought everything looked correct. Below are all pertinent configs:

Thanks for you time,

Will

===========
/etc/procmailrc
===========
# Use mbox-style mailbox in /var/spool/mail
DEFAULT=/var/spool/mail/$LOGNAME
DROPPRIVS=no

:0fw
| /usr/local/bin/procmail-cyrus-delivery.sh $LOGNAME

===========
/usr/local/bin/procmail-cyrus-delivery.sh
===========
#!/bin/sh

LOGNAME=$1

/usr/bin/formail -I"From " | /usr/bin/spamc -u $LOGNAME | /usr/lib/cyrus/deliver -a $LOGNAME -m user.$LOGNAME

===========
/etc/imapd.conf
===========
configdirectory:        /var/imap
partition-default:      /var/spool/imap
#sievedir: /var/imap/sieve # i tried both commenting and uncommenting this line to the same result
sieveusehomedir: yes
tls_ca_path:            /etc/ssl/certs
tls_cert_file:          /etc/ssl/cyrus/server.pem
tls_key_file:           /etc/ssl/cyrus/server.pem
hashimapspool:          yes
allowanonymouslogin:    no
sasl_minimum_layer: 0
sasl_maximum_layer: 3
sasl_mech_list: LOGIN
altnamespace: 1
lmtpsocket: /var/imap/socket/lmtp
sasl_pwcheck_method:    saslauthd

==========
/etc/cyrus.conf
==========
START {
 recover       cmd="ctl_cyrusdb -r"
}
SERVICES {
 imap          cmd="imapd" listen="localhost:imap2" prefork=0
 imaps         cmd="imapd -s" listen="imaps" prefork=0
 sieve         cmd="timsieved" listen="sieve" prefork=0
 lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
 lmtp          cmd="lmtpd" listen="localhost:lmtp"
}
EVENTS {
 checkpoint    cmd="ctl_cyrusdb -c" period=30
 delprune      cmd="ctl_deliver -E 3" period=1440
 tlsprune      cmd="tls_prune" period=1440
}

==========
/home/will/.sieve
==========
require "fileinto";
if header :is "X-Spam-Flag" "YES"
{ fileinto "INBOX.Spam"; }
elsif header :contains "from" ["Will Curry","wcurry"]
{ fileinto "INBOX.Drafts"; }
else
{ fileinto "INBOX"; }

==========
message received logged in imapd.conf.
this message was sent from an email address with
"Will Curry" as the name and [EMAIL PROTECTED]
==========
Jul 10 01:30:00 internet master[24049]: about to exec /usr/lib/cyrus/lmtpd
Jul 10 01:30:00 internet lmtpunix[24049]: executed
Jul 10 01:30:00 internet lmtpunix[24049]: accepted connection
Jul 10 01:30:00 internet lmtpunix[24049]: lmtp connection preauth'd as postman Jul 10 01:30:02 internet lmtpunix[24049]: duplicate_check: <[EMAIL PROTECTED]> user.will 0
Jul 10 01:30:02 internet lmtpunix[24049]: mystore: starting txn 2147483708
Jul 10 01:30:02 internet lmtpunix[24049]: mystore: committing txn 2147483708
Jul 10 01:30:02 internet lmtpunix[24049]: duplicate_mark: <[EMAIL PROTECTED]> user.will 1120977002 5464
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to