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.

Class Variable debug Undocumented
Class Variable timeout Undocumented
Method __init__ Undocumented
Instance Variable identity Undocumented
Instance Variable toAddressesResult Undocumented
Instance Variable successAddresses Undocumented
Instance Variable resp Undocumented
Instance Variable code Undocumented
Instance Variable log 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
Instance Variable mailFile Undocumented
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
Instance Variable toAddresses Undocumented
Instance Variable lastAddress 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.
Instance Variable _from Undocumented
Instance Variable _expected Undocumented
Instance Variable _okresponse Undocumented
Instance Variable _failresponse Undocumented
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.
Instance Variable line_mode Undocumented
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.
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.

Inherited from BaseProtocol (via LineReceiver, Protocol):

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

Inherited from _PauseableMixin (via LineReceiver):

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

Inherited from TimeoutMixin:

Instance 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
Instance Variable __timeoutCall Undocumented
Method __timedOut Undocumented
debug =
Undocumented
(type: bool)
timeout =
Undocumented
def __init__(self, identity, logsize=10): (source)
identity =
Undocumented
toAddressesResult =
Undocumented
(type: List)
successAddresses =
Undocumented
(type: List)
_from =
Undocumented
resp =
Undocumented
(type: List)
code =
Undocumented
(type: int)
log =
Undocumented
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.

_expected =
Undocumented
_okresponse =
Undocumented
_failresponse =
Undocumented
def connectionLost(self, reason=protocol.connectionDone): (source)
mailFile =
Undocumented
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
toAddresses =
Undocumented
lastAddress =
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 2020-03-20 23:54:06.