class documentation

class SMTPClient(basic.LineReceiver, policies.TimeoutMixin): (source)

Known subclasses: twisted.mail.relay.SMTPRelayer, twisted.mail.smtp.ESMTPClient, twisted.mail.smtp.SMTPSender

View In Hierarchy

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 connection​Lost We are no longer connected
Method connection​Made Called when a connection is made.
Method finished​File​Transfer Undocumented
Method get​Mail​Data Return file-like object containing data of message to be sent.
Method get​Mail​From Return the email address the mail is from.
Method get​Mail​To Return a list of emails to send to.
Method line​Received Override this for when each line is received.
Method send​Error 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 send​Line Sends a line to the other end of the connection.
Method sent​Mail Called when an attempt to send an email is completed.
Method smtp​Connection​Failed Undocumented
Method smtp​State_data Undocumented
Method smtp​State_disconnect Undocumented
Method smtp​State_from Undocumented
Method smtp​State_helo Undocumented
Method smtp​State_msg​Sent Undocumented
Method smtp​State_to Undocumented
Method smtp​State_to​Or​Data Undocumented
Method smtp​Transfer​Failed Undocumented
Method timeout​Connection Called when the connection times out.
Method transform​Chunk 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 last​Address Undocumented
Instance Variable log Undocumented
Instance Variable mail​File Undocumented
Instance Variable resp Undocumented
Instance Variable success​Addresses Undocumented
Instance Variable to​Addresses Undocumented
Instance Variable to​Addresses​Result Undocumented
Method _disconnect​From​Server Undocumented
Instance Variable _expected Undocumented
Instance Variable _failresponse Undocumented
Instance Variable _from Undocumented
Instance Variable _okresponse Undocumented

Inherited from LineReceiver:

Method clear​Line​Buffer Clear buffered data.
Method data​Received Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method line​Length​Exceeded Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Method raw​Data​Received Override this for when raw data is received.
Method set​Line​Mode Sets the line-mode of this receiver.
Method set​Raw​Mode 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 _busy​Receiving Undocumented

Inherited from Protocol (via LineReceiver):

Method log​Prefix 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 make​Connection Make a connection to a transport and a server.
Instance Variable connected Undocumented
Instance Variable transport Undocumented

Inherited from _PauseableMixin (via LineReceiver):

Method pause​Producing Undocumented
Method resume​Producing Undocumented
Method stop​Producing Undocumented
Instance Variable paused Undocumented

Inherited from TimeoutMixin:

Method call​Later Wrapper around reactor.callLater for test purpose.
Method reset​Timeout Reset the timeout count down.
Method set​Timeout Change the timeout period
Instance Variable time​Out The number of seconds after which to timeout the connection.
Method __timed​Out Undocumented
Instance Variable __timeout​Call 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
num​Okthe 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.

debug: bool = (source)

Undocumented

timeout = (source)

Undocumented

code: int = (source)

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

_from = (source)

Undocumented

_okresponse = (source)

Undocumented