Tres Seaver wrote:
Patches attached for comment.
- -sys.maxint to changing the mail delivery to a non-transactional form. Switching to a before commit hook is the *worst* of the optoins: it defeats the whole point of using zope.sendmail in the first place, which was to avoidi multiple e-mails on retried requests: if the application doesn't want the mail to be transactional, then it should just send it immediately (which is what the MailHost used to do). At that point, the user would get an error screen, which couold only be cleared by the admin fixing the mail configuration.
The misconfiguration of the mail host in transactional mode *does* cause the server to go into a "lockdown" mode (because errors are not supposed to be raised in 'tpc_finish'). There is *no* database corruption, but the transaction manager can't know that, and so it deliberately refuses to commit more transactions until the admin un-futzes the problem (in this case, by fixing the mailhost configuration) and restarts the server.
Yeah, what he said... Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk