Package twisted :: Package mail :: Module relaymanager :: Class SmartHostSMTPRelayingManager
[show private | hide private]
[frames | no frames]

Class SmartHostSMTPRelayingManager


Manage SMTP Relayers

Manage SMTP relayers, keeping track of the existing connections, each connection's responsibility in term of messages. Create more relayers if the need arises.

Someone should press .checkState periodically
Method Summary
  __init__(self, queue, smartHostAddr, maxConnections, maxMessagesPerConnection)
initialize
  __getstate__(self)
(internal) delete volatile state
  __setstate__(self, state)
(internal) restore volatile state
  checkState(self)
call me periodically to check I am still up to date
  notifyDone(self, relay)
A relaying SMTP client is disconnected.
  notifyFailure(self, relay, message)
Relaying the message has failed.
  notifyNoConnection(self, relay)
Relaying SMTP client couldn't connect.
  notifySuccess(self, relay, message)
a relay sent a message successfully
  _finish(self, relay, message)

Method Details

__init__(self, queue, smartHostAddr, maxConnections=1, maxMessagesPerConnection=10)
(Constructor)

initialize

directory should be a directory full of pickles smartHostIP is the IP for the smart host maxConnections is the number of simultaneous relayers maxMessagesPerConnection is the maximum number of messages a relayer will be given responsibility for.

Default values are meant for a small box with 1-5 users.

__getstate__(self)

(internal) delete volatile state

__setstate__(self, state)

(internal) restore volatile state

checkState(self)

call me periodically to check I am still up to date

synchronize with the state of the world, and maybe launch a new relay

notifyDone(self, relay)

A relaying SMTP client is disconnected.

unmark all pending messages under this relay's resposibility as being relayed, and remove the relay.

notifyFailure(self, relay, message)

Relaying the message has failed.

notifyNoConnection(self, relay)

Relaying SMTP client couldn't connect.

Useful because it tells us our upstream server is unavailable.

notifySuccess(self, relay, message)

a relay sent a message successfully

Mark it as sent in our lists

Generated by Epydoc 1.2 prerelease on Wed Jan 29 06:28:18 2003 http://epydoc.sf.net