xref: /freebsd/contrib/sendmail/libmilter/docs/index.html (revision 5ef517c097100c80269c8a0e02678a89fde6b35e)
140266059SGregory Neil Shapiro<html>
240266059SGregory Neil Shapiro<head>
340266059SGregory Neil Shapiro<title>Filtering Mail with Sendmail</title>
440266059SGregory Neil Shapiro</head>
540266059SGregory Neil Shapiro<body>
640266059SGregory Neil Shapiro<!--
75ef517c0SGregory Neil Shapiro$Id: index.html,v 1.10.4.1 2003/03/05 19:54:19 ca Exp $
840266059SGregory Neil Shapiro-->
940266059SGregory Neil Shapiro
1040266059SGregory Neil Shapiro<h1>Filtering Mail with Sendmail</h1>
1140266059SGregory Neil Shapiro
1240266059SGregory Neil Shapiro<!--
1340266059SGregory Neil Shapiro<P><b>Disclaimer</b>:
1440266059SGregory Neil ShapiroThis preliminary API description is provided for review only.  This
1540266059SGregory Neil Shapirospecification may change based on feedback from reviewers, and does
1640266059SGregory Neil Shapironot bind Sendmail to offer this functionality in any release.
1740266059SGregory Neil Shapiro-->
1840266059SGregory Neil Shapiro
1940266059SGregory Neil Shapiro<h2>Introduction</h2>
2040266059SGregory Neil Shapiro
2140266059SGregory Neil Shapiro<P>
2240266059SGregory Neil ShapiroSendmail's Content Management API (milter) provides third-party
2340266059SGregory Neil Shapiroprograms to access mail messages as they are being processed by the
2440266059SGregory Neil ShapiroMail Transfer Agent (MTA), allowing them to examine and modify message
2540266059SGregory Neil Shapirocontent and meta-information.  Filtering policies implemented by
2640266059SGregory Neil ShapiroMilter-conformant filters may then be centrally configured and
2740266059SGregory Neil Shapirocomposed in an end-user's MTA configuration file.
2840266059SGregory Neil Shapiro
2940266059SGregory Neil Shapiro<p>
3040266059SGregory Neil ShapiroPossible uses for filters include spam rejection, virus
3140266059SGregory Neil Shapirofiltering, and content control.  In general, Milter seeks to address
3240266059SGregory Neil Shapirosite-wide filtering concerns in a scalable way.  Individual users' mail
3340266059SGregory Neil Shapirofiltering needs (e.g. sorting messages by subject) are left to
3440266059SGregory Neil Shapiroclient-level programs such as <a href="http://www.procmail.org">Procmail</a>.
3540266059SGregory Neil Shapiro
3640266059SGregory Neil Shapiro<P>
3740266059SGregory Neil ShapiroThis document is a technical introduction intended for those
3840266059SGregory Neil Shapirointerested in developing Milter filters.  It includes:
3940266059SGregory Neil Shapiro<ul>
4040266059SGregory Neil Shapiro<li>A description of Milter's design goals.
4140266059SGregory Neil Shapiro
4240266059SGregory Neil Shapiro<li>An explanation of Milter application architecture, including
4340266059SGregory Neil Shapirointeractions between the support library and user code, and between
4440266059SGregory Neil Shapirofilters and the MTA.
4540266059SGregory Neil Shapiro
4640266059SGregory Neil Shapiro<li>A specification of the C application programming interface.
4740266059SGregory Neil Shapiro<li>An example of a simple Milter filter.
4840266059SGregory Neil Shapiro</ul>
4940266059SGregory Neil Shapiro
5040266059SGregory Neil Shapiro<h2>Contents</h2>
5140266059SGregory Neil Shapiro
5240266059SGregory Neil Shapiro<ul>
5340266059SGregory Neil Shapiro<li><a href="design.html">Architecture</a>
5440266059SGregory Neil Shapiro<ul>
5540266059SGregory Neil Shapiro    <li>Design Goals
5640266059SGregory Neil Shapiro    <li>Implementing Filtering Policies
5740266059SGregory Neil Shapiro    <li>MTA - Filter communication
5840266059SGregory Neil Shapiro</ul>
5940266059SGregory Neil Shapiro<li><a href="overview.html">Technical Overview</a>
6040266059SGregory Neil Shapiro<ul>
6140266059SGregory Neil Shapiro    <li>Initialization
6240266059SGregory Neil Shapiro    <li>Control flow
6340266059SGregory Neil Shapiro    <li>Multithreading
6440266059SGregory Neil Shapiro    <li>Resource Management
6540266059SGregory Neil Shapiro    <li>Signal Handling
6640266059SGregory Neil Shapiro</ul>
6740266059SGregory Neil Shapiro<li><a href="api.html">API Documentation</a>
6840266059SGregory Neil Shapiro<ul>
6940266059SGregory Neil Shapiro    <li>Library Control Functions
7040266059SGregory Neil Shapiro    <li>Data Access Functions
7140266059SGregory Neil Shapiro    <li>Message Modification Functions
7240266059SGregory Neil Shapiro    <li>Callbacks
7340266059SGregory Neil Shapiro</ul>
7440266059SGregory Neil Shapiro<li><a href="installation.html">Installation and Configuration</a>
7540266059SGregory Neil Shapiro<ul>
7640266059SGregory Neil Shapiro    <li>Compiling and Installing Your Filter
7740266059SGregory Neil Shapiro    <li>Configuring Sendmail
7840266059SGregory Neil Shapiro</ul>
7940266059SGregory Neil Shapiro<li><a href="sample.html">A Sample Filter</a>
8040266059SGregory Neil Shapiro<!-- <li><a href="other.html">Other Sources of Information</a> -->
8140266059SGregory Neil Shapiro</ul>
8240266059SGregory Neil Shapiro
8340266059SGregory Neil Shapiro<hr size="1">
8440266059SGregory Neil Shapiro<font size="-1">
855ef517c0SGregory Neil ShapiroCopyright (c) 2000, 2001, 2003 Sendmail, Inc. and its suppliers.
8640266059SGregory Neil ShapiroAll rights reserved.
8740266059SGregory Neil Shapiro<br>
8840266059SGregory Neil ShapiroBy using this file, you agree to the terms and conditions set
895ef517c0SGregory Neil Shapiroforth in the LICENSE.
9040266059SGregory Neil Shapiro</font>
9140266059SGregory Neil Shapiro</body>
9240266059SGregory Neil Shapiro</html>
93