1 P
\bPo
\bos
\bst
\btf
\bfi
\bix
\bx C
\bCo
\bon
\bnt
\bte
\ben
\bnt
\bt I
\bIn
\bns
\bsp
\bpe
\bec
\bct
\bti
\bio
\bon
\bn
3 -------------------------------------------------------------------------------
4 Postfix supports three content inspection methods, ranging from light-weight
5 one-line-at-a-time scanning before mail is queued, to heavy duty machinery that
6 does sophisticated content analysis after mail is queued. Each approach serves
9 b
\bbe
\bef
\bfo
\bor
\bre
\be q
\bqu
\bue
\beu
\bue
\be,
\b, b
\bbu
\bui
\bil
\blt
\bt-
\b-i
\bin
\bn,
\b, l
\bli
\big
\bgh
\bht
\bt-
\b-w
\bwe
\bei
\big
\bgh
\bht
\bt
10 This method inspects mail BEFORE it is stored in the queue, and uses
11 Postfix's built-in message header and message body inspection. Although the
12 main purpose is to stop a specific flood of mail from worms or viruses, it
13 is also useful to block a flood of bounced junk email and email
14 notifications from virus detection systems. The built-in regular
15 expressions are not meant to implement general SPAM and virus detection.
16 For that, you should use one of the content inspection methods described
17 below. Details are described in the BUILTIN_FILTER_README and
18 BACKSCATTER_README documents.
20 a
\baf
\bft
\bte
\ber
\br q
\bqu
\bue
\beu
\bue
\be,
\b, e
\bex
\bxt
\bte
\ber
\brn
\bna
\bal
\bl,
\b, h
\bhe
\bea
\bav
\bvy
\by-
\b-w
\bwe
\bei
\big
\bgh
\bht
\bt
21 This method inspects mail AFTER it is stored in the queue, and uses
22 standard protocols such as SMTP or "pipe to command and wait for exit
23 status". After-queue inspection allows you to use content filters of
24 arbitrary complexity without causing timeouts while receiving mail, and
25 without running out of memory resources under a peak load. Details of this
26 approach are in the FILTER_README document.
28 b
\bbe
\bef
\bfo
\bor
\bre
\be q
\bqu
\bue
\beu
\bue
\be,
\b, e
\bex
\bxt
\bte
\ber
\brn
\bna
\bal
\bl,
\b, m
\bme
\bed
\bdi
\biu
\bum
\bm-
\b-w
\bwe
\bei
\big
\bgh
\bht
\bt
29 The following two methods inspect mail BEFORE it is stored in the queue.
31 * The first method uses the SMTP protocol, and is described in the
32 SMTPD_PROXY_README document. This approach is available with Postfix
33 version 2.1 and later.
35 * The second method uses the Sendmail 8 Milter protocol, and is described
36 in the MILTER_README document. This approach is available with Postfix
37 version 2.3 and later.
39 Although these approaches appear to be attractive, they have some serious
40 limitations that you need to be aware of. First, content inspection
41 software must finish in a limited amount of time; if content inspection
42 needs too much time then incoming mail deliveries will time out. Second,
43 content inspection software must run in a limited amount of memory; if
44 content inspection needs too much memory then software will crash under a
45 peak load. Before-queue inspection limits the peak load that your system
46 can handle, and limits the sophistication of the content filter that you
49 The more sophisticated content filtering software is not built into Postfix for
50 good reasons: writing an MTA requires different skills than writing a SPAM or
51 virus killer. Postfix encourages the use of external filters and standard
52 protocols because this allows you to choose the best MTA and the best content
53 inspection software for your purpose. Information about external content
54 inspection software can be found on the Postfix website at http://
55 www.postfix.org/, and on the postfix-users@postfix.org mailing list.