Go to the latest version of this document.

# ``twisted`.`mail`.`smtp`.`SMTPSenderFactory``

class documentation

`class SMTPSenderFactory(protocol.ClientFactory): (source)`

Known subclasses: `twisted.mail.smtp.ESMTPSenderFactory`

Constructor: `SMTPSenderFactory(fromEmail, toEmail, file, deferred, ...)`

View In Hierarchy

Utility factory for sending emails easily.

Method | `__init__` | No summary
Method | `buildProtocol` | Create an instance of a subclass of Protocol.
Method | `clientConnectionFailed` | Called when a connection has failed to connect.
Method | `clientConnectionLost` | Called when an established connection is lost.
Instance Variable | `currentProtocol` | The current running protocol returned by `buildProtocol`.
Instance Variable | `file` | Undocumented
Instance Variable | `fromEmail` | Undocumented
Instance Variable | `nEmails` | Undocumented
Instance Variable | `result` | Undocumented
Instance Variable | `retries` | Undocumented
Instance Variable | `sendFinished` | When the value is set to True, it means the message has been sent or there has been an unrecoverable error or the sending has been cancelled. The default value is False.
Instance Variable | `timeout` | Undocumented
Instance Variable | `toEmail` | Undocumented
Method | `_processConnectionError` | Undocumented
Method | `_removeDeferred` | Undocumented
Method | `_removeProtocol` | Remove the protocol created in `buildProtocol`.

Inherited from `ClientFactory`:

Method | `startedConnecting` | Called when a connection has been started.

Inherited from `Factory` (via `ClientFactory`):

Class Method | `forProtocol` | Create a factory for the given protocol.
Method | `doStart` | Make sure startFactory is called.
Method | `doStop` | Make sure stopFactory is called.
Method | `logPrefix` | Describe this factory for log messages.
Method | `startFactory` | This will be called before I begin listening on a Port or Connector.
Method | `stopFactory` | This will be called before I stop listening on all Ports/Connectors.
Class Variable | `noisy` | Undocumented
Class Variable | `protocol` | Undocumented
Instance Variable | `numPorts` | Undocumented

def __init__(self, fromEmail, toEmail, file, deferred, retries=5, timeout=None): (source)
overridden in `twisted.mail.smtp.ESMTPSenderFactory`

Parameters
fromEmail | The RFC 2821 address from which to send this message.
toEmail | A sequence of RFC 2821 addresses to which to send this message.
file | A file-like object containing the message to send.
deferred:`defer.Deferred` | A Deferred to callback or errback when sending of this message completes.
retries | The number of times to retry delivery of this message.
timeout | Period, in seconds, for which to wait for server responses, or None to wait forever.

def buildProtocol(self, addr): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.internet.protocol.Factory.buildProtocol`
overridden in `twisted.mail.smtp.ESMTPSenderFactory`

Create an instance of a subclass of Protocol.

The returned instance will handle input on an incoming server connection, and an attribute "factory" pointing to the creating factory.

Alternatively, `None` may be returned to immediately close the new connection.

Override this method to alter how Protocol instances get created.

Parameters
addr | an object implementing `IAddress`

def clientConnectionFailed(self, connector, err): (source)
overrides `twisted.internet.protocol.ClientFactory.clientConnectionFailed`

Called when a connection has failed to connect.

It may be useful to call connector.connect() - this will reconnect.

Parameters
connector | Undocumented
err | Undocumented
reason:`twisted.python.failure.Failure` | Undocumented

def clientConnectionLost(self, connector, err): (source)
overrides `twisted.internet.protocol.ClientFactory.clientConnectionLost`

Called when an established connection is lost.

It may be useful to call connector.connect() - this will reconnect.

Parameters
connector | Undocumented
err | Undocumented
reason:`twisted.python.failure.Failure` | Undocumented

currentProtocol: `SMTPSender` = (source)
overridden in `twisted.mail.smtp.ESMTPSenderFactory`

The current running protocol returned by `buildProtocol`.

file = (source)

Undocumented

fromEmail = (source)

Undocumented

nEmails = (source)

Undocumented

result = (source)

Undocumented

retries = (source)

Undocumented

sendFinished: `bool` = (source)

When the value is set to True, it means the message has been sent or there has been an unrecoverable error or the sending has been cancelled. The default value is False.

timeout = (source)

Undocumented

toEmail = (source)

Undocumented

def _processConnectionError(self, connector, err): (source)

Undocumented

def _removeDeferred(self, result): (source)

Undocumented

def _removeProtocol(self, result): (source)

Remove the protocol created in `buildProtocol`.

Parameters
result | The result/error passed to the callback/errback of `defer.Deferred`.

Returns
The `result` untouched.