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

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 sendLine Sends a line to the other end of the connection.
Method connectionMade Called when a connection is made.
Method connectionLost We are no longer connected
Method timeoutConnection Called when the connection times out.
Method lineReceived Override this for when each line is received.
Method smtpConnectionFailed Undocumented
Method smtpTransferFailed Undocumented
Method smtpState_helo Undocumented
Method smtpState_from Undocumented
Method smtpState_disconnect Undocumented
Method smtpState_to Undocumented
Method smtpState_toOrData Undocumented
Method smtpState_data Undocumented
Method smtpState_msgSent Undocumented
Method transformChunk Perform the necessary local to network newline conversion and escape leading periods.
Method finishedFileTransfer Undocumented
Method getMailFrom Return the email address the mail is from.
Method getMailTo Return a list of emails to send to.
Method getMailData Return file-like object containing data of message to be sent.
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 sentMail Called when an attempt to send an email is completed.
Method _disconnectFromServer Undocumented

Inherited from LineReceiver:

Class Variable delimiter The line-ending delimiter to use. By default this is b'\r\n'.
Class Variable 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.
Method clearLineBuffer Clear buffered data.
Method dataReceived Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
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.
Method rawDataReceived Override this for when raw data is received.
Method lineLengthExceeded Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.

Inherited from Protocol (via LineReceiver):

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

Inherited from BaseProtocol (via LineReceiver, Protocol):

Method makeConnection Make a connection to a transport and a server.

Inherited from _PauseableMixin (via LineReceiver):

Method pauseProducing Undocumented
Method resumeProducing Undocumented
Method stopProducing Undocumented

Inherited from TimeoutMixin:

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

Sends a line to the other end of the connection.

ParameterslineThe line to send, not including the delimiter. (type: bytes)
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 connectionLost(self, reason=protocol.connectionDone): (source)
def timeoutConnection(self): (source)

Called when the connection times out.

Override to define behavior other than dropping the connection.

def lineReceived(self, line): (source)

Override this for when each line is received.

ParameterslineThe line which was received with the delimiter removed. (type: bytes)
def smtpConnectionFailed(self, code, resp): (source)
Undocumented
def smtpTransferFailed(self, code, resp): (source)
Undocumented
def smtpState_helo(self, code, resp): (source)
Undocumented
def smtpState_from(self, code, resp): (source)
Undocumented
def smtpState_disconnect(self, code, resp): (source)
Undocumented
def smtpState_to(self, code, resp): (source)
Undocumented
def smtpState_toOrData(self, code, resp): (source)
Undocumented
def smtpState_data(self, code, resp): (source)
Undocumented
def smtpState_msgSent(self, code, resp): (source)
Undocumented
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.

def finishedFileTransfer(self, lastsent): (source)
Undocumented
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 getMailData(self): (source)

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

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

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.

ParametersexcThe SMTPClientError (or child class) raised (type: SMTPClientError)
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.

Parameterscodethe 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 _disconnectFromServer(self): (source)
Undocumented
API Documentation for Twisted, generated by pydoctor at 2018-10-15 19:29:43.