More doxygen docs.

This commit is contained in:
Stuart Gathman
2009-06-09 03:13:14 +00:00
parent 66f8a1d437
commit 307c54e1b1
5 changed files with 146 additions and 11 deletions
+36
View File
@@ -0,0 +1,36 @@
## @mainpage Writing Milters in Python
#
#
# At the lowest level, the <code>milter</code> module provides a thin wrapper
# around the <a href="https://www.milter.org/developers/api/index"> sendmail
# libmilter API</a>. This API lets you register callbacks for a number of
# events in the process of sendmail receiving a message via SMTP. These
# events include the initial connection from a MTA, the envelope sender and
# recipients, the top level mail headers, and the message body. There are
# options to mangle all of these components of the message as it passes through
# the milter.
#
# At the next level, the <code>Milter</code> module (note the case difference)
# provides a Python friendly object oriented wrapper for the low level API. To
# use the Milter module, an application registers a 'factory' to create an
# object for each connection from a MTA to sendmail. These connection objects
# must provide methods corresponding to the libmilter callback events.
#
# Each event method returns a code to tell sendmail whether to proceed with
# processing the message. This is a big advantage of milters over other mail
# filtering systems. Unwanted mail can be stopped in its tracks at the
# earliest possible point.
#
# The <code>Milter.Base</code> class provides default implementations for
# event methods that do nothing, and also provides wrappers for the libmilter
# methods to mutate the message. It automatically negotiates with MTA
# which protocol steps need to be processed by the milter, based on
# which callback methods are overridden.
#
# The <code>Milter.Milter</code> class provides an alternate default
# implementation that logs the main milter events, but otherwise does nothing.
# It is provided for compatibility.
#
# The <code>mime</code> module provides a wrapper for the Python email package
# that fixes some bugs, and simplifies modifying selected parts of a MIME
# message.
+44
View File
@@ -0,0 +1,44 @@
# Document miltermodule for Doxygen
#
## @package milter
#
# A thin wrapper around libmilter.
#
class milterContext(object):
def getsymval(self,sym): pass
def setreply(self,rcode,xcode,*msg): pass
def addheader(self,name,value,idx=-1): pass
def chgheader(self,name,idx,value): pass
def addrcpt(self,rcpt,params=None): pass
def delrcpt(self,rcpt): pass
def replacebody(self,data): pass
def setpriv(self,priv): pass
def getpriv(self): pass
def quarantine(self,reason): pass
def progress(self): pass
def chgfrom(self,sender,param=None): pass
def setsmlist(self,stage,macrolist): pass
class error(Exception): pass
def set_flags(flags): pass
def set_connect_callback(cb): pass
def set_helo_callback(cb): pass
def set_envfrom_callback(cb): pass
def set_envrcpt_callback(cb): pass
def set_header_callback(cb): pass
def set_eoh_callback(cb): pass
def set_body_callback(cb): pass
def set_abort_callback(cb): pass
def set_close_callback(cb): pass
def set_exception_policy(code): pass
def register(name,negotiate=None,unknown=None,data=None): pass
def opensocket(rmsock): pass
def main(): pass
def setdbg(lev): pass
def settimeout(secs): pass
def setbacklog(n): pass
def setconn(s): pass
def stop(): pass