2, in the database map called spamsubjdb. If the literal text of the Subject:
header??™s value is found in the database, the token from the right side of the database,
the REJECT in our example, is returned. If it is not found in the database, the
default (as indicated by the $: operator) is returned (the OK is returned). Whichever
token is returned, the original subject value is also returned (the trailing $1 operator).
The second rule looks for the literal text REJECT in the workspace, followed by zero
or more tokens (the $* operator). If the workspace begins with REJECT, the message
is rejected; otherwise, it is accepted.
The RHS (right-hand side, ?§18.2) of the second rule performs the rejection. The
$#error instructs sendmail to reject the message. The $: part defines the text of the
error message that will be issued. For a subject value of I Love You, the following
error will be produced during the SMTP exchange.
553 5.3.5 Subject: I Love You : Indicates virus, rejected
Note that when sendmail sees an SMTP code of 553 that is not followed by a DSN
code, it will insert the appropriate DSN code, here the 5.3.5.
Finally, we say again that you should reject email based on the subject only as a temporary
measure. The likelihood that legitimate email will have an identical subject is
very high. When erring, it is better to allow the occasional spam than it is to reject
any legitimate email.
Pages:
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495