[Zope-dev] zope.sendmail Retry fixes and new state machine.

Matthew Grant grantma at anathoth.gen.nz
Sun Mar 9 04:11:21 EDT 2008


Hi!

Just created a new branch for zope.sendmail. 

This is a result of the state machine analysis work I did on it after
finding that it was creating problems on sending mail to our smart
host...

svn+ssh://grantma@svn.zope.org/repos/main/zope.sendmail/branches/grantma-retryfixes

with lots of juicy new fixes including:

- Restructured SMTP mailer and QueueProcessorThread so that all
  SMTP error logic is in the mailer.  Clears the way for another
  mailer for /usr/sbin/sendmail command line can be used with
  QueueProcessorThread.
- Added ability for QueueProcessorThread so that it can handle temporary
  failures in delivery to its smart host - ie administrator reconfiguring
  mailserver, mail server reboot/restart  This was the main error path that
  was missing from the trunk code's state machine.
- Formatted log messages in a consistent fashion so that they can be grepped
  out of z3.log
- Added maildir message filename to log messages as message id - allows
  easy analysis/triage of mail message sending problems
- Added optional cleaning of lock links to QueueProcessorThread so that 
  messages can be resent immediately on Zope3 restart.
- Added pollingInterval (ms), cleanLockLinks (boolean), and retryInterval
  (seconds) configure options to configure.zcml.

Comments welcomed.  I know it is a major portion of code and a bit of a restructure,
but I have created unit  tests for all my major changes.  It includes
all the stuff that was missing and that was needed for our production
server.

I imagine that all of this will prove to be really useful when it is added to 
the trunk zope.sendmail

Cheers,

Matthew Grant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20080309/2655fcf3/attachment.bin


More information about the Zope-Dev mailing list