Previous Section Next Section

discard

Accept and then discard the message V8.9 and above

Prior to V8.9 sendmail, the only way to discard mail was to deliver it to the /dev/null device. Beginning with V8.9, sendmail has the ability to discard messages by delivering them with the discard delivery agent. The discard delivery agent is internally defined by sendmail and should not defined by a MAILER( ) mc command.

The discard delivery agent is primarily used by the access_db feature (Section 7.5), but can be used equally well by the various policy rule sets. It is used like this:

R ...           $#discard $: discard

Here, any workspace that matches the LHS will be discarded. The event will be logged if the LogLevel option (LogLevel) is 5 or higher.

An example of how to use the discard delivery agent looks like this:

LOCAL_CONFIG
C{Discard_To_Names}   allmyfriends

LOCAL_RULESETS
HTo: $>Screen_To

SScreen_To
R $={Discard_To_Names} @ $*      $# discard $: discard

Here, the value of a To: header (To:) is passed to the Screen_To rule set. That rule set compares the user part of the address to the list of usernames in the class {Discard_To_Names}. If any are found (in this instance only the name allmyfriends will be found), that message is discarded.

Note that when handling spam mail, it can be better to reject the message with the error delivery agent than to discard it with this discard delivery agent. Rejection pushes the handling of bounces back onto the sender.

    Previous Section Next Section