mirror of
https://github.com/python/cpython.git
synced 2025-12-04 16:43:27 +00:00
parent
88e8e34ab0
commit
2363e8fece
3 changed files with 65 additions and 0 deletions
|
|
@ -288,6 +288,7 @@ LIBFILES= $(MANSTYLES) $(INDEXSTYLES) $(COMMONTEX) \
|
||||||
lib/libheapq.tex \
|
lib/libheapq.tex \
|
||||||
lib/libmimetypes.tex \
|
lib/libmimetypes.tex \
|
||||||
lib/libsmtplib.tex \
|
lib/libsmtplib.tex \
|
||||||
|
lib/libsmtpd.tex \
|
||||||
lib/libcmd.tex \
|
lib/libcmd.tex \
|
||||||
lib/libmultifile.tex \
|
lib/libmultifile.tex \
|
||||||
lib/libthreading.tex \
|
lib/libthreading.tex \
|
||||||
|
|
|
||||||
|
|
@ -228,6 +228,7 @@ and how to embed it in other applications.
|
||||||
\input{libimaplib}
|
\input{libimaplib}
|
||||||
\input{libnntplib}
|
\input{libnntplib}
|
||||||
\input{libsmtplib}
|
\input{libsmtplib}
|
||||||
|
\input{libsmtpd}
|
||||||
\input{libtelnetlib}
|
\input{libtelnetlib}
|
||||||
\input{liburlparse}
|
\input{liburlparse}
|
||||||
\input{libsocksvr}
|
\input{libsocksvr}
|
||||||
|
|
|
||||||
63
Doc/lib/libsmtpd.tex
Normal file
63
Doc/lib/libsmtpd.tex
Normal file
|
|
@ -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}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue