If it accepts the message, progB will
be contacted on a network socket. If progB accepts the message, progC will be given
the final crack at the message. When a socket allows it, some of these connections
might be in parallel prior to header processing, but will always be in sequence when
header processing begins. See Table 26-5 on page 1177 for a more detailed overview
of this process.
If you want to declare external programs, but don??™t want to set the order in which
they are called, use the MAIL_FILTER mc macro instead:
MAIL_FILTER(`progA??, ``S=local:/var/run/f1.sock, F=R????)
MAIL_FILTER(`progB??, ``S=inet6:999@localhost, F=T, T=S:1s;R:1s;E:5m????)
MAIL_FILTER(`progC??, `S=inet:3333@localhost??)
This is the same declaration as before, except that it omits the declaration of the
order in which the program sockets will be called. When using this form, you will
have to separately declare the order with the InputMailFilters option (?§26.2.2 on
page 1177):
define(`confINPUT_MAIL_FILTERS??, ``progB, progA, progC????)
Note that if pre-V8.13 sendmail was not compiled with -DMILTER,* attempting to
declare a socket with these commands will cause the following error to be printed,
and sendmail will exit:
Warning: Filter usage ('X') requires Milter support (-DMILTER)
* Use _FFR_MILTER with V8.10 or V8.11 sendmail.
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc.
Pages:
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114