I have a few questions regarding the ZOPE mailer implementation:
1. Why did you go for a file system implementation - as ZODB objects
are being made into a mail queue anyway? The Maildir step could have
been skipped, I suppose, just the connection to a mail server directly
over the network interface would suffice. Is there a specific reason
for the Maildir implementation?
2. The current implementation can only handle between 30-60 E-mail's a
minute. This is mostly due to the naming convention used for maildir
files (one a second - actually the Maildir naming allows in between
numbers, but you don't use that). 30 E-mails a minute is not really
scalable and has the (apparent) downside it (effectively) blocks the
Zope webserver for the duration (it should not, but it does, possibly
a locked ZODB?).
We have that experience sending out bulk E-mail reminders using that
module. Sending out 200 mails made the main ZOPE server inaccessible
for 3-4 minutes.
The reason I am asking is not so much an interest in fixing it for
mail, as we can live with that performance issue, but I am looking to
implement a similar functionality for storing xParrot/ZOPE objects in
version control in a seperate thread. So I would like to understand
the reason behind the Maildir choice.
Zope3-dev mailing list