[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