Help configuring fetchmail

linux at bizniche.com linux at bizniche.com
Thu Oct 14 10:40:02 CDT 2004


> Oops.. I meant router, not transport.  You need an entry in transport and
> router, but order _does_ matter in the router section, and not in the
> transport.  Therefore, the procmail router should be listed before the
> maildir or in your case "local_delivery".
> 
> Basically, exim will go down the router list and say "do I match this
> router condition?"  It will get to procmail and say "Do I have
> /usr/bin/procmail and ~/.procmailrc for the user?"  If those two
> conditions exist, then it delivers the mail to procmail
> 
> > Is this the trasport that you mentioned?  What does a procmail setup
> > look like?
> 
> For procmail, you will need to have the procmail router and transport. 
> The procmail_pipe is the transport.  It basically tells exim what to do
> with the email should the procmail router match.
> 
> 
> Here is my procmail router
> 
> *********
> procmail:
>   debug_print = "R: procmail for $local_part@$domain"
>   driver = accept
>   domains = +local_domains
>   check_local_user
>   transport = procmail_pipe
>   require_files = ${local_part}:${home}/.procmailrc:+/usr/bin/procmail
>   no_verify
>   no_expn
> *********
> 
> The transport line says, if this matches, then call the procmail_pipe
> transport to know where to deliver the email.  This particular router
> verifies that the intended recipient is infact a local user, and then
> checks the required_files for a .procmailrc and /usr/bin/procmail file. 
> If those are present, then it calls the procmail_pipe transport.  Mine
> looks like this:
> 
> **************
> procmail_pipe:
>   debug_print = "T: procmail_pipe for $local_part@$domain"
>   driver = pipe
>   path = "/bin:/usr/bin:/usr/local/bin"
>   command = "/usr/bin/procmail"
>   return_path_add
>   delivery_date_add
>   envelope_to_add
> **************
> 
> The command line will pipe (see the driver line) the full email to that
> command.  Procmail will then figure out who it goes to and read the
> .procmailrc file to figure out how to deliver it.  A simple procmailrc
> file for maildirs would look something like this:
> 
> **************
> HOME=/home/jeremy
> PMDIR=$HOME/.procmail
> LOGFILE=$PMDIR/log
> MAILDIR=$HOME/mail/
> LOCKFILE=$PMDIR/.lockmail
> VERBOSE=no
> 
> # catch all for inbox
> :0
> $MAILDIR
> ***************
 
Jeremy:

So I tried setting it up like you mention.  The only thing I don't
understand is the driver=accept part.  I get an error related to this
when I log in as another user and run 'mail -s "testing" mdg'.  The
error is:
--------
avast:/home/mdg# mail -s "testing" mdg
Cc:
Null message body; hope that's ok
2004-10-14 10:33:52 Exim configuration error
  router procmail: cannot find router driver "accept" in line 405
Can't send mail: sendmail process failed with error code 1
avast:/home/mdg#
---------

I wondered if you have anything in your .conf about the accept...maybe
another section that defines it?  I tried to make sure that there were
no transport or router conflicts.

My .procmailrc file looks like yours, with obvious changes...homedir and
maildir changes.  The rest is the same.  

My exim.conf looks like this:  http://mdg.homelinux.org/exim.conf

Also...I'm not using exim4, and thought this might be a difference.

Any ideas?

Matt



More information about the Kclug mailing list