class documentation

SMTP client for sending emails.

After the client has connected to the SMTP server, it repeatedly calls SMTPClient.getMailFrom, SMTPClient.getMailTo and SMTPClient.getMailData and uses this information to send an email. It then calls SMTPClient.getMailFrom again; if it returns None, the client will disconnect, otherwise it will continue as normal i.e. call SMTPClient.getMailTo and SMTPClient.getMailData and send a new email.

Method __init__ Undocumented
Method connectionLost We are no longer connected
Method connectionMade Called when a connection is made.
Method finishedFileTransfer Undocumented
Method getMailData Return file-like object containing data of message to be sent.
Method getMailFrom Return the email address the mail is from.
Method getMailTo Return a list of emails to send to.
Method lineReceived Override this for when each line is received.
Method sendError If an error occurs before a mail message is sent sendError will be called. This base class method sends a QUIT if the error is non-fatal and disconnects the connection.
Method sendLine Sends a line to the other end of the connection.
Method sentMail Called when an attempt to send an email is completed.
Method smtpConnectionFailed Undocumented
Method smtpState_data Undocumented
Method smtpState_disconnect Undocumented
Method smtpState_from Undocumented
Method smtpState_helo Undocumented
Method smtpState_msgSent Undocumented
Method smtpState_to Undocumented
Method smtpState_toOrData Undocumented
Method smtpTransferFailed Undocumented
Method timeoutConnection Called when the connection times out.
Method transformChunk Perform the necessary local to network newline conversion and escape leading periods.
Class Variable debug Undocumented
Class Variable timeout Undocumented
Instance Variable code Undocumented
Instance Variable identity Undocumented
Instance Variable lastAddress Undocumented
Instance Variable log Undocumented
Instance Variable mailFile Undocumented
Instance Variable resp Undocumented
Instance Variable successAddresses Undocumented
Instance Variable toAddresses Undocumented
Instance Variable toAddressesResult Undocumented
Method _disconnectFromServer Undocumented
Instance Variable _expected Undocumented
Instance Variable _failresponse Undocumented
Instance Variable _from Undocumented
Instance Variable _okresponse Undocumented

Inherited from LineReceiver:

Method clearLineBuffer Clear buffered data.
Method dataReceived Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method lineLengthExceeded Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Method rawDataReceived Override this for when raw data is received.
Method setLineMode Sets the line-mode of this receiver.
Method setRawMode Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived.
Constant MAX_LENGTH The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384.
Class Variable delimiter The line-ending delimiter to use. By default this is b'\r\n'.
Instance Variable line_mode Undocumented
Instance Variable _buffer Undocumented
Instance Variable _busyReceiving Undocumented

Inherited from Protocol (via LineReceiver):

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable factory Undocumented

Inherited from BaseProtocol (via LineReceiver, Protocol):

Method makeConnection Make a connection to a transport and a server.
Instance Variable connected Undocumented
Instance Variable transport Undocumented

Inherited from _PauseableMixin (via LineReceiver, Protocol, BaseProtocol):

Method pauseProducing Undocumented
Method resumeProducing Undocumented
Method stopProducing Undocumented
Instance Variable paused Undocumented

Inherited from TimeoutMixin (via LineReceiver, Protocol, BaseProtocol, _PauseableMixin):

Method callLater Wrapper around reactor.callLater for test purpose.
Method resetTimeout Reset the timeout count down.
Method setTimeout Change the timeout period
Instance Variable timeOut The number of seconds after which to timeout the connection.
Method __timedOut Undocumented
Instance Variable __timeoutCall Undocumented
def __init__(self, identity, logsize=10): (source)
def connectionMade(self): (source)

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.

def finishedFileTransfer(self, lastsent): (source)

Undocumented

def getMailData(self): (source)

Return file-like object containing data of message to be sent.

Lines in the file should be delimited by '\n'.

def getMailFrom(self): (source)

Return the email address the mail is from.

def getMailTo(self): (source)

Return a list of emails to send to.

def lineReceived(self, line): (source)

Override this for when each line is received.

Parameters
line:bytesThe line which was received with the delimiter removed.
def sendError(self, exc): (source)

If an error occurs before a mail message is sent sendError will be called. This base class method sends a QUIT if the error is non-fatal and disconnects the connection.

Parameters
exc:SMTPClientErrorThe SMTPClientError (or child class) raised
def sendLine(self, line): (source)

Sends a line to the other end of the connection.

Parameters
line:bytesThe line to send, not including the delimiter.
def sentMail(self, code, resp, numOk, addresses, log): (source)

Called when an attempt to send an email is completed.

If some addresses were accepted, code and resp are the response to the DATA command. If no addresses were accepted, code is -1 and resp is an informative message.

Parameters
codethe code returned by the SMTP Server
respThe string response returned from the SMTP Server
numOkthe number of addresses accepted by the remote host.
addressesis a list of tuples (address, code, resp) listing the response to each RCPT command.
logis the SMTP session log
def smtpConnectionFailed(self, code, resp): (source)

Undocumented

def smtpState_data(self, code, resp): (source)

Undocumented

def smtpState_disconnect(self, code, resp): (source)

Undocumented

def smtpState_from(self, code, resp): (source)

Undocumented

def smtpState_helo(self, code, resp): (source)

Undocumented

def smtpState_msgSent(self, code, resp): (source)

Undocumented

def smtpState_to(self, code, resp): (source)

Undocumented

def smtpState_toOrData(self, code, resp): (source)

Undocumented

def smtpTransferFailed(self, code, resp): (source)

Undocumented

def timeoutConnection(self): (source)

Called when the connection times out.

Override to define behavior other than dropping the connection.

def transformChunk(self, chunk): (source)

Perform the necessary local to network newline conversion and escape leading periods.

This method also resets the idle timeout so that as long as process is being made sending the message body, the client will not time out.

Undocumented

Undocumented

Undocumented

identity = (source)

Undocumented

lastAddress = (source)

Undocumented

Undocumented

mailFile = (source)

Undocumented

Undocumented

successAddresses: list = (source)

Undocumented

toAddresses = (source)

Undocumented

toAddressesResult: list = (source)

Undocumented

def _disconnectFromServer(self): (source)

Undocumented

_expected = (source)

Undocumented

_failresponse = (source)

Undocumented

Undocumented

_okresponse = (source)

Undocumented