Many people want to know what the F=T, T=C:10m;S:1s;R:1s; etc. in the milters means. Here is the explanation. Per Sendmail: +----------------------------------------+ | SPECIFYING FILTERS IN SENDMAIL CONFIGS | +----------------------------------------+ Filters are specified with a key letter ``X'' (for ``eXternal''). For example: Xfilter1, S=local:/var/run/f1.sock, F=R Xfilter2, S=inet6:999@localhost, F=T, T=C:10m;S:1s;R:1s;E:5m Xfilter3, S=inet:3333@localhost specifies three filters. Filters can be specified in your .mc file using the following: INPUT_MAIL_FILTER(`filter1', `S=local:/var/run/f1.sock, F=R') INPUT_MAIL_FILTER(`filter2', `S=inet6:999@localhost, F=T, T=C:10m;S:1s;R:1s;E:5m') INPUT_MAIL_FILTER(`filter3', `S=inet:3333@localhost') The first attaches to a Unix-domain socket in the /var/run directory; the second uses an IPv6 socket on port 999 of localhost, and the third uses an IPv4 socket on port 3333 of localhost. The current flags (F=) are: R Reject connection if filter unavailable T Temporary fail connection if filter unavailable If neither F=R nor F=T is specified, the message is passed through sendmail in case of filter errors as if the failing filters were not present. Finally, you can override the default timeouts used by sendmail when talking to the filters using the T= equate. There are four fields inside of the T= equate: Letter Meaning C Timeout for connecting to a filter (if 0, use system timeout) S Timeout for sending information from the MTA to a filter R Timeout for reading reply from the filter E Overall timeout between sending end-of-message to filter and waiting for the final acknowledgment Note the separator between each is a ';' as a ',' already separates equates and therefore can't separate timeouts. The default values (if not set in the config) are: T=C:5m;S:10s;R:10s;E:5m where 's' is seconds and 'm' is minutes. Which filters are invoked and their sequencing is handled by the InputMailFilters option. Note: if InputMailFilters is not defined no filters will be used. O InputMailFilters=filter1, filter2, filter3 This is is set automatically according to the order of the INPUT_MAIL_FILTER commands in your .mc file. Alternatively, you can reset its value by setting confINPUT_MAIL_FILTERS in your .mc file. This options causes the three filters to be called in the same order they were specified. It allows for possible future filtering on output (although this is not intended for this release). Also note that a filter can be defined without adding it to the input filter list by using MAIL_FILTER() instead of INPUT_MAIL_FILTER() in your .mc file. To test sendmail with the sample filter, the following might be added (in the appropriate locations) to your .mc file: INPUT_MAIL_FILTER(`sample', `S=local:/var/run/f1.sock')