index.html revision 90792
150476Speter<html>
282486Sbde<head>
321611Swosch<title>Filtering Mail with Sendmail</title>
421611Swosch</head>
521611Swosch<body>
618052Sbde<!--
736494Sbde$Id: index.html,v 1.10 2001/06/01 00:05:03 ca Exp $
818052Sbde-->
936494Sbde
1076576Smarkm<h1>Filtering Mail with Sendmail</h1>
1139412Sphk
1279495Sobrien<!--
1336494Sbde<P><b>Disclaimer</b>: 
1476515SbdeThis preliminary API description is provided for review only.  This
1569227Sbrianspecification may change based on feedback from reviewers, and does
1636494Sbdenot bind Sendmail to offer this functionality in any release.
1739259Sgibbs-->
1836575Speter
1976515Sbde<h2>Introduction</h2>
2036494Sbde
2136494Sbde<P>
2257461SmarkmSendmail's Content Management API (milter) provides third-party
2336494Sbdeprograms to access mail messages as they are being processed by the
2436575SpeterMail Transfer Agent (MTA), allowing them to examine and modify message
2576515Sbdecontent and meta-information.  Filtering policies implemented by
2639259SgibbsMilter-conformant filters may then be centrally configured and
2736494Sbdecomposed in an end-user's MTA configuration file.
2836494Sbde
2936494Sbde<p>
3074535SdesPossible uses for filters include spam rejection, virus
3118052Sbdefiltering, and content control.  In general, Milter seeks to address
3276515Sbdesite-wide filtering concerns in a scalable way.  Individual users' mail
3336494Sbdefiltering needs (e.g. sorting messages by subject) are left to
3476515Sbdeclient-level programs such as <a href="http://www.procmail.org">Procmail</a>.
3536494Sbde
3636494Sbde<P>
3794280SruThis document is a technical introduction intended for those
3847570Sacheinterested in developing Milter filters.  It includes:
3957538Sshin<ul>
4036494Sbde<li>A description of Milter's design goals.
4167523Sarchie
4236575Speter<li>An explanation of Milter application architecture, including
4336575Speterinteractions between the support library and user code, and between
4476576Smarkmfilters and the MTA.
4536494Sbde
4636494Sbde<li>A specification of the C application programming interface.
4736494Sbde<li>An example of a simple Milter filter.
4865916Sache</ul>
4936494Sbde
5036494Sbde<h2>Contents</h2>
5176515Sbde
5290796Sgshapiro<ul>
5390796Sgshapiro<li><a href="design.html">Architecture</a>
5490796Sgshapiro<ul>
5536494Sbde    <li>Design Goals
5665916Sache    <li>Implementing Filtering Policies
5752251Sbp    <li>MTA - Filter communication
5836494Sbde</ul>
5952419Sjulian<li><a href="overview.html">Technical Overview</a>
6036494Sbde<ul>
6136494Sbde    <li>Initialization
6242916Sjdp    <li>Control flow
6342916Sjdp    <li>Multithreading
6442916Sjdp    <li>Resource Management
6559770Sbde    <li>Signal Handling
6642916Sjdp</ul>
6742916Sjdp<li><a href="api.html">API Documentation</a>
6876576Smarkm<ul>
6942916Sjdp    <li>Library Control Functions
7076576Smarkm    <li>Data Access Functions
7176576Smarkm    <li>Message Modification Functions
7242916Sjdp    <li>Callbacks
7376576Smarkm</ul>
7477866Smarkm<li><a href="installation.html">Installation and Configuration</a>
7577866Smarkm<ul>
7676576Smarkm    <li>Compiling and Installing Your Filter
7777866Smarkm    <li>Configuring Sendmail
7876576Smarkm</ul>
7976576Smarkm<li><a href="sample.html">A Sample Filter</a>
8089705Sru<!-- <li><a href="other.html">Other Sources of Information</a> -->
8194714Sdes</ul>
8289705Sru
8394714Sdes<hr size="1">
8489705Sru<font size="-1">
8589705SruCopyright (c) 2000, 2001 Sendmail, Inc. and its suppliers.
8689705SruAll rights reserved.
8742916Sjdp<br>
8889705SruBy using this file, you agree to the terms and conditions set
8942916Sjdpforth in the <a href="LICENSE.txt">LICENSE</a>.
9076515Sbde</font>
9136494Sbde</body>
9236494Sbde</html>
9339020Smarkm