procmail
[Top] [All Lists]

Trying to run procmail with Cyrus imapd and sendmail

2001-06-15 08:22:20
Hey all.  I guess one goof deserves another.  Sorry about sending my
subscription confirmation to the list (my first).  Now for my second
(mailing to the list right off without lurking awhile):

I am running Cyrus imapd 1.6.24 with Sendmail 8.9.3 and procmail 3.14.

I have a sendmail.cf that calls procmail to deliver mail, which in
turn will call the Cyrus deliver program.

Sendmail calls procmail as follows:
procmail -Y -m /etc/procmailrc $u $h

I dug through some Cyrus archives and found a starting point for a
/etc/procmailrc file:

----------------------------------------------------------------------
SHELL=/bin/sh
MAILDIR=/usr/cyrus
LOGFILE=$HOME/.procmail.log
VERBOSE=yes

# Place any antispam or other universal filters here.  Don't 
# write to files or pipe to programs unless you are ABSOLUTELY
# SURE you know what you are doing!

# :0 Bfh:$HOME/.procmail.lock
# * H ?? !^Lines:
# * -1^0
# *  1^1 ^.*$
# | /usr/bin/formail -A "Lines: $="

# this enables automated procmail recipe creation for users;
# roll your own tool to allow creation of procmail recipes on a
# per-user
# basis and place them there, but don't let users edit their own
# recipes
# INCLUDERC=/var/cyrus/procmailrcs/$1

# make sure EXITCODE is clear: then it will take the value of the TRAP
# return
EXITCODE=""
 
TRAP="/usr/cyrus/bin/deliver -e -m $2 -- $1"
 
# Procmail voodoo.  The TRAP handles the mail delivery.  We have to 
# prevent procmail from attempting a second delivery.
#
# in one line, kill procmail:
HOST=acadia
----------------------------------------------------------------------

The recipe that is commented out is intended to add a 'Lines: ' header
to each mail if it doesn't already exist.  I don't know how accurate
it is, since it was given to me.  I have checked it with the docs, and
it looks ok to me.

Anyway, when I try to send mail to be delivered to a mailbox, I get
errors in the log file and the message disappears.  Here is the log
info:

----------------------------------------------------------------------
procmail: [4133] Fri Jun 15 09:36:19 2001
procmail: Assigning "EXITCODE="
procmail: Assigning "TRAP=/usr/cyrus/bin/deliver -e -m  -- leblanc"
procmail: Assigning "HOST=acadia"
procmail: Locking "/var/spool/mail/leblanc.lock"
procmail: Error while writing to "/var/spool/mail/_lAB.T9gK7.acadia"
procmail: Lock failure on "/var/spool/mail/leblanc.lock"
procmail: Assigning "LASTFOLDER=/var/spool/mail/leblanc"
procmail: Opening "/var/spool/mail/leblanc"
procmail: Error while writing to "/var/spool/mail/leblanc"
 Subject: test
  Folder: **Bounced**                                               0
procmail: Executing "/usr/cyrus/bin/deliver,-e,-m,--,leblanc"
----------------------------------------------------------------------

So what is the problem with the lockfile?  /var/spool/mail has
permissions 775/root:mail.  Shouldn't that be ok?

It looks like procmail is not passing the $h ($2) parameterm on to
deliver.  I wonder if this is related to the locfile issue?

This is all the data I have been able to collect so far.  Any ideas?

Thanks for any help you can give.

Lou
-- 
Louis LeBlanc
Fully Funded Hobbyist, KeySlapper Extrordinaire :)
leblanc(_at_)acadia(_dot_)ne(_dot_)mediaone(_dot_)net
http://acadia.ne.mediaone.net                Ô¿Ô¬
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail