class twisted.mail.relaymanager.SmartHostSMTPRelayingManager: (source)
Known subclasses: twisted.mail.relaymanager.SmartHostESMTPRelayingManager
A smart host which uses SMTP managed relayers to send messages from the relay queue.
checkState
must be called periodically at which time the state of the relay queue is checked and new relayers are created as needed.
In order to relay a set of messages to a mail exchange server, a smart host creates an attempt manager and a managed relayer factory for that set of messages. When a connection is made with the mail exchange server, the managed relayer factory creates a managed relayer to send the messages. The managed relayer reports on its progress to the attempt manager which, in turn, updates the smart host's relay queue and information about its managed relayers.
Instance Variable | queue | See __init__ . |
Instance Variable | maxConnections | See __init__ . |
Instance Variable | maxMessagesPerConnection | See __init__ . |
Instance Variable | fArgs | Positional arguments for SMTPManagedRelayerFactory.__init__ . |
Instance Variable | fKwArgs | Keyword arguments for SMTPManagedRelayerFactory.__init__ . |
Instance Variable | factory | A callable which creates a factory for creating a managed relayer. See SMTPManagedRelayerFactory.__init__ for parameters to the callable. |
Instance Variable | PORT | The port over which to connect to the SMTP server. |
Instance Variable | mxcalc | A resource for mail exchange host lookups. |
Instance Variable | managed | A mapping of factory for a managed relayer to filenames of messages the managed relayer is responsible for. |
Method | __init__ | Initialize a smart host. |
Method | __getstate__ | Create a representation of the non-volatile state of this object. |
Method | __setstate__ | Restore the non-volatile state of this object and recreate the volatile state. |
Method | checkState | Check the state of the relay queue and, if possible, launch relayers to handle waiting messages. |
Method | _checkStateMX | Undocumented |
Method | _cbExchange | Initiate a connection with a mail exchange server. |
Method | _ebExchange | Prepare to resend messages later. |
SMTPManagedRelayerFactory.__init__
.tuple
of (0) list
of bytes
, (1) _AttemptManager
, (2) bytes
or 4-tuple
of (0) list
of bytes
, (1) _AttemptManager
, (2) bytes
, (3) int
)
SMTPManagedRelayerFactory.__init__
for parameters to the callable.SMTPManagedRelayerFactory
)
dict
mapping SMTPManagedRelayerFactory
to list
of bytes
)
Initialize a smart host.
The default values specify connection limits appropriate for a low-volume smart host.
Parameters | queue | A relay queue. (type: Queue ) |
maxConnections | The maximum number of concurrent connections to SMTP servers. (type: int ) | |
maxMessagesPerConnection | The maximum number of messages for which a relayer will be given responsibility. (type: int ) |
Initiate a connection with a mail exchange server.
This callback function runs after mail exchange server for the domain has been looked up.
Parameters | address | The hostname of a mail exchange server. (type: bytes ) |
port | A port number. (type: int ) | |
factory | A factory which can create a relayer for the mail exchange server. (type: SMTPManagedRelayerFactory ) |
Prepare to resend messages later.
This errback function runs when no mail exchange server for the domain can be found.
Parameters | failure | The reason the mail exchange lookup failed. (type: Failure ) |
factory | A factory which can create a relayer for the mail exchange server. (type: SMTPManagedRelayerFactory ) | |
domain | A domain. (type: bytes ) |