mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 e41251e864
			
		
	
	
		e41251e864
		
	
	
	
	
		
			
			svn+ssh://pythondev@svn.python.org/python/trunk ........ r62490 | benjamin.peterson | 2008-04-24 20:29:10 -0500 (Thu, 24 Apr 2008) | 2 lines reformat some documentation of classes so methods and attributes are under the class directive ........
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| :mod:`smtpd` --- SMTP Server
 | |
| ============================
 | |
| 
 | |
| .. module:: smtpd
 | |
|    :synopsis: A SMTP server implementation in Python.
 | |
| 
 | |
| .. moduleauthor:: Barry Warsaw <barry@zope.com>
 | |
| .. sectionauthor:: Moshe Zadka <moshez@moshez.org>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| SMTPServer Objects
 | |
| ------------------
 | |
| 
 | |
| 
 | |
| .. class:: SMTPServer(localaddr, remoteaddr)
 | |
| 
 | |
|    Create a new :class:`SMTPServer` object, which binds to local address
 | |
|    *localaddr*.  It will treat *remoteaddr* as an upstream SMTP relayer.  It
 | |
|    inherits from :class:`asyncore.dispatcher`, and so will insert itself into
 | |
|    :mod:`asyncore`'s event loop on instantiation.
 | |
| 
 | |
| 
 | |
|    .. method:: process_message(peer, mailfrom, rcpttos, data)
 | |
| 
 | |
|       Raise :exc:`NotImplementedError` exception. Override this in subclasses to
 | |
|       do something useful with this message. Whatever was passed in the
 | |
|       constructor as *remoteaddr* will be available as the :attr:`_remoteaddr`
 | |
|       attribute. *peer* is the remote host's address, *mailfrom* is the envelope
 | |
|       originator, *rcpttos* are the envelope recipients and *data* is a string
 | |
|       containing the contents of the e-mail (which should be in :rfc:`2822`
 | |
|       format).
 | |
| 
 | |
| 
 | |
| DebuggingServer Objects
 | |
| -----------------------
 | |
| 
 | |
| 
 | |
| .. class:: DebuggingServer(localaddr, remoteaddr)
 | |
| 
 | |
|    Create a new debugging server.  Arguments are as per :class:`SMTPServer`.
 | |
|    Messages will be discarded, and printed on stdout.
 | |
| 
 | |
| 
 | |
| PureProxy Objects
 | |
| -----------------
 | |
| 
 | |
| 
 | |
| .. class:: PureProxy(localaddr, remoteaddr)
 | |
| 
 | |
|    Create a new pure proxy server. Arguments are as per :class:`SMTPServer`.
 | |
|    Everything will be relayed to *remoteaddr*.  Note that running this has a good
 | |
|    chance to make you into an open relay, so please be careful.
 | |
| 
 | |
| 
 | |
| MailmanProxy Objects
 | |
| --------------------
 | |
| 
 | |
| 
 | |
| .. class:: MailmanProxy(localaddr, remoteaddr)
 | |
| 
 | |
|    Create a new pure proxy server. Arguments are as per :class:`SMTPServer`.
 | |
|    Everything will be relayed to *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.
 | |
| 
 |