diff options
author | Fred Drake <fdrake@acm.org> | 2004-07-11 16:25:25 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2004-07-11 16:25:25 (GMT) |
commit | 2363e8fece04afb6b48aabea5bc061234b3df2ed (patch) | |
tree | ec531e81d30125bcb14f79997f92bc51924792f3 /Doc/lib | |
parent | 88e8e34ab0628f92d01f0c57f7b6a02b9354a41a (diff) | |
download | cpython-2363e8fece04afb6b48aabea5bc061234b3df2ed.zip cpython-2363e8fece04afb6b48aabea5bc061234b3df2ed.tar.gz cpython-2363e8fece04afb6b48aabea5bc061234b3df2ed.tar.bz2 |
Added documentation for the "smtpd" module.
Closes SF bug #450803.
Diffstat (limited to 'Doc/lib')
-rw-r--r-- | Doc/lib/lib.tex | 1 | ||||
-rw-r--r-- | Doc/lib/libsmtpd.tex | 63 |
2 files changed, 64 insertions, 0 deletions
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex index 4fe4f01..8895b57 100644 --- a/Doc/lib/lib.tex +++ b/Doc/lib/lib.tex @@ -228,6 +228,7 @@ and how to embed it in other applications. \input{libimaplib} \input{libnntplib} \input{libsmtplib} +\input{libsmtpd} \input{libtelnetlib} \input{liburlparse} \input{libsocksvr} diff --git a/Doc/lib/libsmtpd.tex b/Doc/lib/libsmtpd.tex new file mode 100644 index 0000000..657050d --- /dev/null +++ b/Doc/lib/libsmtpd.tex @@ -0,0 +1,63 @@ +\section{\module{smtpd} --- + SMTP Server} + +\declaremodule{standard}{smtpd} + +\moduleauthor{Barry Warsaw}{barry@zope.com} +\sectionauthor{Moshe Zadka}{moshez@moshez.org} + +\modulesynopsis{Implement a flexible SMTP server} + +This module offers several classes to implement SMTP servers. One is +a generic do-nothing implementation, which can be overridden, while +the other two offer specific mail-sending strategies. + + +\subsection{SMTPServer Objects} + +\begin{classdesc}{SMTPServer}{localaddr, remoteaddr} +Create a new \class{SMTPServer} object, which binds to local address +\var{localaddr}. It will treat \var{remoteaddr} as an upstream SMTP +relayer. It inherits from \class{asyncore.dispatcher}, and so will +insert itself into \refmodule{asyncore}'s event loop on instantiation. +\end{classdesc} + +\begin{methoddesc}[SMTPServer]{process_message}{peer, mailfrom, rcpttos, data} +Raise \exception{NotImplementedError} exception. Override this in +subclasses to do something useful with this message. Whatever was +passed in the constructor as \var{remoteaddr} will be available as the +\member{_remoteaddr} attribute. \var{peer} is the remote host's address, +\var{mailfrom} is the envelope originator, \var{rcpttos} are the +envelope recipients and \var{data} is a string containing the contents +of the e-mail (which should be in \rfc{2822} format). +\end{methoddesc} + + +\subsection{DebuggingServer Objects} + +\begin{classdesc}{DebuggingServer}{localaddr, remoteaddr} +Create a new debugging server. Arguments are as per +\class{SMTPServer}. Messages will be discarded, and printed on +stdout. +\end{classdesc} + + +\subsection{PureProxy Objects} + +\begin{classdesc}{PureProxy}{localaddr, remoteaddr} +Create a new pure proxy server. Arguments are as per \class{SMTPServer}. +Everything will be relayed to \var{remoteaddr}. Note that running +this has a good chance to make you into an open relay, so please be +careful. +\end{classdesc} + + +\subsection{MailmanProxy Objects} + +\begin{classdesc}{MailmanProxy}{localaddr, remoteaddr} +Create a new pure proxy server. Arguments are as per +\class{SMTPServer}. Everything will be relayed to \var{remoteaddr}, +unless local mailman configurations knows about an address, in which +case it will be handled via mailman. Note that running this has a +good chance to make you into an open relay, so please be careful. +\end{classdesc} |