Package twisted :: Package protocols :: Module smtp :: Class SMTP
[frames | no frames]

Class SMTP

BaseProtocol --+        
               |        
        Protocol --+    
                   |    
        LineReceiver --+
                       |
        TimeoutMixin --+
                       |
                      SMTP

Known Subclasses:
DomainSMTP, ESMTP

SMTP server-side protocol.
Method Summary
  __init__(self, delivery, deliveryFactory)
  _cbAuthenticated(self, (iface, avatar, logout))
  _cbFromValidate(self, from_, code, msg)
  _cbToValidate(self, to, user, code, msg)
  _ebAuthenticated(self, reason)
  _ebFromValidate(self, failure)
  _ebToValidate(self, failure)
  _messageHandled(self, _)
  _messageNotHandled(self, failure)
  connectionLost(self, reason)
  connectionMade(self)
Called when a connection is made.
  dataLineReceived(self, line)
  do_DATA(self, rest)
  do_HELO(self, rest)
  do_MAIL(self, rest)
  do_QUIT(self, rest)
  do_RCPT(self, rest)
  do_RSET(self, rest)
  do_UNKNOWN(self, rest)
  greeting(self)
  lineLengthExceeded(self, line)
Called when the maximum line length has been reached.
  lineReceived(self, line)
Override this for when each line is received.
  lookupMethod(self, command)
  rawDataReceived(self, data)
Throw away rest of long line
  sendCode(self, code, message)
Send an SMTP code with a message.
  sendSyntaxError(self)
  startMessage(self, recipients)
  state_COMMAND(self, line)
  state_DATA(self, line)
  timeoutConnection(self)
Called when the connection times out.
Deferred or Address validateFrom(self, helo, origin)
Validate the address from which the message originates.
no-argument callable validateTo(self, user)
Validate the address for which the message is destined.
    Inherited from LineReceiver
  clearLineBuffer(self)
Clear buffered data.
  dataReceived(self, data)
Protocol.dataReceived.
  sendLine(self, line)
Sends a line to the other end of the connection.
  setLineMode(self, extra)
Sets the line-mode of this receiver.
  setRawMode(self)
Sets the raw mode of this receiver.
    Inherited from Protocol
  connectionFailed(self)
(Deprecated)
    Inherited from BaseProtocol
  makeConnection(self, transport)
Make a connection to a transport and a server.
    Inherited from TimeoutMixin
  resetTimeout(self)
Reset the timeout count down
  setTimeout(self, period)
Change the timeout period

Class Variable Summary
NoneType _onLogout = None                                                                  
NoneType delivery = None                                                                  
NoneType deliveryFactory = None                                                                  
str host = 'twistedmatrix.com'
SRE_Pattern mail_re = \s*FROM:\s*(<>|<("[^"]*"|\\.|[-A-Za-z0-9!#\$%&...
NoneType portal = None                                                                  
str qstring = '("[^"]*"|\\\\.|[-A-Za-z0-9!\\#$%&\'*+/=?^_`{|...
SRE_Pattern rcpt_re = \s*TO:\s*(<("[^"]*"|\\.|[-A-Za-z0-9!#\$%&'\*\+...
int timeout = 600                                                                   
    Inherited from LineReceiver
str _LineReceiver__buffer = ''
str delimiter: The line-ending delimiter to use.
int line_mode = 1                                                                     
int MAX_LENGTH: The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped).
    Inherited from Protocol
tuple __implements__ = (<class twisted.internet.interfaces.IPr...
    Inherited from BaseProtocol
int connected = 0                                                                     
NoneType transport = None                                                                  
    Inherited from TimeoutMixin
NoneType _TimeoutMixin__lastReceived = None                                                                  
NoneType _TimeoutMixin__timeoutCall = None                                                                  
NoneType timeOut: The number of seconds after which to timeout the connection.

Method Details

connectionMade(self)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Overrides:
twisted.internet.protocol.BaseProtocol.connectionMade (inherited documentation)

lineLengthExceeded(self, line)

Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Overrides:
twisted.protocols.basic.LineReceiver.lineLengthExceeded (inherited documentation)

lineReceived(self, line)

Override this for when each line is received.
Overrides:
twisted.protocols.basic.LineReceiver.lineReceived (inherited documentation)

rawDataReceived(self, data)

Throw away rest of long line
Overrides:
twisted.protocols.basic.LineReceiver.rawDataReceived

sendCode(self, code, message='')

Send an SMTP code with a message.

timeoutConnection(self)

Called when the connection times out. Override to define behavior other than dropping the connection.
Overrides:
twisted.protocols.policies.TimeoutMixin.timeoutConnection (inherited documentation)

validateFrom(self, helo, origin)

Validate the address from which the message originates.
Parameters:
helo - The argument to the HELO command and the client's IP address.
           (type=(str, str))
origin - The address the message is from
           (type=Address)
Returns:
origin or a Deferred whose callback will be passed origin.
           (type=Deferred or Address)
Raises:
SMTPBadSender - Raised of messages from this address are not to be accepted.

validateTo(self, user)

Validate the address for which the message is destined.
Parameters:
user - The address to validate.
           (type=User)
Returns:
A Deferred which becomes, or a callable which takes no arguments and returns an object implementing IMessage. This will be called and the returned object used to deliver the message when it arrives.
           (type=no-argument callable)
Raises:
SMTPBadRcpt - Raised if messages to the address are not to be accepted.

Class Variable Details

_onLogout

Type:
NoneType
Value:
None                                                                  

delivery

Type:
NoneType
Value:
None                                                                  

deliveryFactory

Type:
NoneType
Value:
None                                                                  

host

Type:
str
Value:
'twistedmatrix.com'                                                    

mail_re

Type:
SRE_Pattern
Value:
\s*FROM:\s*(<>|<("[^"]*"|\\.|[-A-Za-z0-9!#\$%&'\*\+/=\?\^_`\{\|\}~]|[@\
\.,:])+>|("[^"]*"|\\.|[-A-Za-z0-9!#\$%&'\*\+/=\?\^_`\{\|\}~]|[@\.,:])+\
)\s*(\s(.*))?$                                                         

portal

Type:
NoneType
Value:
None                                                                  

qstring

Type:
str
Value:
'("[^"]*"|\\\\.|[-A-Za-z0-9!\\#$%&\'*+/=?^_`{|}~]|[@.,:])+'            

rcpt_re

Type:
SRE_Pattern
Value:
\s*TO:\s*(<("[^"]*"|\\.|[-A-Za-z0-9!#\$%&'\*\+/=\?\^_`\{\|\}~]|[@\.,:]\
)+>|("[^"]*"|\\.|[-A-Za-z0-9!#\$%&'\*\+/=\?\^_`\{\|\}~]|[@\.,:])+)\s*(\
\s(.*))?$                                                              

timeout

Type:
int
Value:
600                                                                   

Generated by Epydoc 2.0 on Sat May 15 20:08:01 2004 http://epydoc.sf.net