On Mon, Oct 07, 2002 at 04:29:58AM -0400, Andy Saxena wrote: > > For details, please read my original posting. Here's the situation in > brief: > Deliver local mail to users in such a way that they can run their > procmail recipes. For e.g., if a user gets all the mail about cron jobs, > he should be able to direct that into the =inbox.cron folder. >
I found the solution! Procmail was generating the "From " envelope header that cyrdeliver finds inacceptable! It seems if you call procmail from exim, it runs in an explicit delivery mode (whatever that means) and adds the "From " header to the incoming email. My solution is really simple. I used formail to get rid of the "From " header like so: ----------------------~/.procmailrc (begin)----------------------------- SHELL="/bin/sh" DELIVERMAIL="/usr/sbin/cyrdeliver" LOGFILE="$HOME/.maillog" IMAP="$DELIVERMAIL -a andy -q -m user.andy" LOGABSTRACT="all" VERBOSE="on" #Remove the "From " header if it exists! Pass on the email to the other #filters. :0 fw | /usr/bin/formail -I 'From ' -b ----------------------~/.procmailrc (end)----------------------------- Exim is configured in the following manner: ---------------------/etc/exim/exim.conf (begin)----------------------- ###################################################################### # TRANSPORTS CONFIGURATION # ###################################################################### # ORDER DOES NOT MATTER # # Only one appropriate transport is called for each delivery. # ###################################################################### # This transport is used for local delivery to user mailboxes. local_delivery: driver = pipe command = /usr/sbin/cyrdeliver ${local_part} return_path_add = true return_output prefix = "" user = cyrus # This transport is used for procmail procmail_pipe: driver = pipe command = "/usr/bin/procmail" return_path_add delivery_date_add envelope_to_add # check_string = "From " # escape_string = ">From " # suffix = "" user = $local_part group = mail ###################################################################### # DIRECTORS CONFIGURATION # # Specifies how local addresses are handled # ###################################################################### # ORDER DOES MATTER # # A local address is passed to each in turn until it is accepted. # ###################################################################### # This director runs procmail for users who have a .procmailrc file procmail: driver = localuser transport = procmail_pipe require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail no_verify # This director matches local user mailboxes. Since procmail does all # delivery, it is never used. localuser: driver = localuser transport = local_delivery end ---------------------/etc/exim/exim.conf (end)------------------------- Please keep in mind that the above two illustrations are abridged versions. I am surprised that nobody else has faced this problem. It's hard to imagine that I am the only one wanting to use Cyrus IMAP and sort all the email into their various folders using procmail. Are there more elegant solutions out there? -Andy -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]