Re: [Exim] Implementing procmail

Top Page
Delete this message
Reply to this message
Author: Jim Knoble
Date:  
To: Exim User
Subject: Re: [Exim] Implementing procmail
First, the procmail recipe Paul is referring to is called (depending on
whom you ask) either "html-trap" or "the 'Enhancing E-Mail Security
with Procmail' recipe", by John Hardin. It's available at:

http://www.wolfenet.com/~jhardin/procmail-security.html

The latest revision is 1.104, dated 2000-05-10. Html-trap works fine
alongside the SpamBouncer, another fine procmail recipe, from Catherine
Hampton. It's at:

http://www.spambouncer.org/

Next, the answer to Paul's question. (This is probably a FAQ;
nevertheless, since it's easier for me to find the answer in my
/etc/exim/exim.conf than to look in the FAQ, today is someone's lucky
day...).

This is for exim-3.14, on my local dial-up machine. In the transports
section of exim.conf, i have:

  # First transport:  Something resembling the default local
  #                   delivery transport.
  local_delivery:
    driver = appendfile
    # Yada-yada-yada...


  # Second transport:  Where procmail happens.  Be *sure* you
  #                    understand the various freeze, log, and
  #                    return options; they may not do what you
  #                    want or expect.
  procmail_pipe:
    driver = pipe
    command = "/usr/bin/procmail -d ${local_part}"
    delivery_date_add = true
    envelope_to_add = true
    freeze_exec_fail = false
    group = mail
    log_defer_output = false
    log_fail_output = false
    log_output = false
    return_fail_output = false
    return_output = false
    return_path_add = true
    umask = 0022


The procmail_pipe transport runs procmail as a delivery agent for each
user.

Next, in the directors section, i have:

  # First director:  The regular /etc/aliases stuff.
  system_aliases:
    driver = aliasfile
    # blah, blah, blah ...


  # Second director:  The regular .forward stuff.
  userforward:
    driver = forwardfile
    # etc., etc.


  # Third transport:  Aaah, this is what you were waiting for.
  localuser:
    driver = localuser
    #transport = local_delivery
    transport = procmail_pipe
    #          ^^^^^^^^^^^^^^^


Note how the default local transport is commented out, and the
procmail_pipe transport is used as the default transport.

I'm fairly certain it's possible to set up procmail in ~/.forward
according to the procmail(1) manual page, but i never bothered to
figure out how to do that when it was this easy in exim.

Disclaimer: IANAEE (I am not an exim expert). IWFM (it works for me).

--
jim knoble | jmknoble@??? | http://www.jmknoble.cx/

Circa 2000-May-11 02:18:14 -0400 schrieb Paul McHale:

: I found a great procmail filter to rename to all .exe/vbs/cmd.... files
: to an inert name which will prevent them from executing in a mail
: client such as outlook. It changes attached filenames such as
: filename.exe to filename.defanged-exe. It also mangles URLs so as to
: prevent them from autoloading.
:
: The problem is I can't get exim to run procmail for local delivery. I
: am using storm-linux (debian based). Any help would be greatly
: appreciated. I would be happy to include my exim.conf file or any
: other information that would be useful.
:
: The filter looks incredibly useful given today's climate. I would love
: to handle all of this in Linux land where viruses can safely be
: removed.