module documentation

Infrastructure for relaying mail through a smart host.

Traditional peer-to-peer email has been increasingly replaced by smart host configurations. Instead of sending mail directly to the recipient, a sender sends mail to a smart host. The smart host finds the mail exchange server for the recipient and sends on the message.

Class ESMTPManagedRelayer An ESMTP managed relayer.
Class ESMTPManagedRelayerFactory A factory to create an ESMTPManagedRelayer.
Class ManagedRelayerMixin SMTP Relayer which notifies a manager
Class MXCalculator A utility for looking up mail exchange hosts and tracking whether they are working or not.
Class Queue A queue for messages to be relayed.
Class SmartHostESMTPRelayingManager A smart host which uses ESMTP managed relayers to send messages from the relay queue.
Class SmartHostSMTPRelayingManager A smart host which uses SMTP managed relayers to send messages from the relay queue.
Class SMTPManagedRelayer An SMTP managed relayer.
Class SMTPManagedRelayerFactory A factory to create an SMTPManagedRelayer.
Exception CanonicalNameChainTooLong An error indicating that when trying to look up a mail exchange host, too many canonical name records which point to other canonical name records were encountered and resolution was abandoned.
Exception CanonicalNameLoop An error indicating that when trying to look up a mail exchange host, a set of canonical name records was found which form a cycle and resolution was abandoned.
Function RelayStateHelper Set up a periodic call to prompt a relaying manager to check state.
Class _AttemptManager A manager for an attempt to relay a set of messages to a mail exchange server.
Function _checkState Prompt a relaying manager to check state.
def RelayStateHelper(manager, delay): (source)

Set up a periodic call to prompt a relaying manager to check state.

Parameters
manager:SmartHostSMTPRelayingManagerA relaying manager.
delay:floatThe number of seconds between calls.
Returns
TimerServiceA service which periodically reminds a relaying manager to check state.
def _checkState(manager): (source)

Prompt a relaying manager to check state.

Parameters
manager:SmartHostSMTPRelayingManagerA relaying manager.