MDA interaction, or procmail pointer

MDA interaction, or procmail pointer

Post by Michael Caste » Fri, 05 Dec 1997 04:00:00

I'm trying to get sendmail (8.7 on Linux) to reject spam identified by
scanning headers. The check_* rulesets on don't (for example)
allow rejecting based on To: (e.g., 'friend') or Received: lines, which
I'd like to take into consideration.

I've been searching sendmail and procmail docs, the bat book, etc., but
haven't found some key info:

- I've had sendmail pass incoming mail to my script and I see that I can
emit text and set a non-zero exit code to reject mail. I have been unable
to find documentation on the MDA interaction, e.g. what exit codes mean
what to sendmail. So far I know that 'exit 1' gets me 'unknown mailer
error 1', but it seems there MUST be better codes. Hmm, I'll try just text
with zero exit code and see what happens. Surely this is documented

- procmail looks like a nice header scanner, with the valuable ability to
deliver acceptable mail to the right mailbox, but I don't see how to
reject mail (e.g. return text and/or the non-zero exit code, if I just
knew what number to return...).

It looks like an ideal would be procmail recipes to recognize spam, e.g.

and return non-zero exit code to sendmail. If no recipes match, procmail
falls off the end and delivers to the regular destination.

I really don't want to generate a reply, most of those would just clutter
up my queue for 5 days then die undelivered (from what I've been seeing

Digging through the anti-spam sites, I haven't seen the answer. Thanks in
advance to anybody who can supply or point me to it. Meanwhile, at least I
can work on the procmail recipes and trash the junk to /dev/null!
Mike Casteel
mac at
Legitimate email, remove nospam. Spammers most unwelcome.


1. Procmail for fetchmail and local MDA

I am using RedHat Linux 5.0, which uses procmail as the local delivery
agent. I am getting mail from my ISP using fetchmail with procmail as
the delivery agent. Basically I want to set up a few rules to sort
mail amongst some users on the Linux system. Any message that dosn't
fit those rules gets passed to root.

However if I create a .procmailrc file in /root for when I pickup mail
the same .procmailrc file will be used for the local delivery and the
mail gets stuck in a never ending loop.

What is the best solution?

Should I create an account that picks up mail from my ISP and has the
specific .procmailrc file in its home directory, and would that solve
the problem?

Should I not use procmail for local delivery?

Why is procmail set up for local delivery?

Thanks for any help,


2. Digicom (DSI) comments

3. procmail as local MDA?

4. Q: relative perf. of fp mpy, div, inverse, sqrt...

5. Netscape/UNIX/procmail interaction questions

6. Viterbi Decoding

7. sendmail 8.7.6/procmail interaction problem

8. Fractionsal Dimensions V 2000

9. sendmail + procmail interaction

10. procmail/smrsh interaction

11. Procmail pointers

12. Procmail tips page pointer

13. Procmail pointers