H* a Default for All Headers
The preceding two sections have shown it is possible
to screen specific headers for properties to accept
or reject. There will be times, however, when you
might wish to screen all headers that do not have
their own rule sets. Using an *
in place of the header
name provides just such a mechanism:
H*: $>ScreenAll
The *
tells
sendmail to pass all headers,
except those that have their own H
configuration line
rule set, to the ScreenAll
rule set. Use $>
+ instead of
$>
, if you
want to prevent sendmail from
stripping RFC2822 parenthetical comments from each
header’s value.
Consider a site that sends email only to mailing
lists. On such a site, it is desirable to prevent
mail that is considered spam from going out. One way
to do this is to reject all mail that contains
addresses that are in either Cc
: or Bcc
: headers (good
addresses should only be in To
: headers). Such a site might have an
mc file that contains the
following:
LOCAL_CONFIG C{BannedRecipientHeaders} Cc Bcc H*: $>CheckBanned LOCAL_RULESETS SCheckBanned R $* $: $&{hdr_name} R $={BannedRecipientHeaders} $#error $@ 5.7.0 $: "553 Banned recipient header"
The LOCAL_CONFIG part of this mc
file contains two configuration commands. The first
declares a class called BannedRecipientHeaders
and assigns to
that class a list of header names that should be
banned, those being the Cc
: or Bcc
: headers with the colon
removed.
The second configuration command starts with the
wildcard form of the H
configuration command. ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.