Forum OpenACS Q&A: Re: ns_sendmail replacement?

Collapse
Posted by Don Baccus on
SERVICE CONTRACTS.  Yes, yes, and yes again.

Jeff Davis is picking up that package, BTW, and we've chatted about having it enforce service contracts and also about providing a high-level means to define contracts and their implementations (i.e. remove the redudantly boring coding task of writing definitions of methods and their parameters as a set of INSERT SQL statements in both PG and Oracle).

Anyway ... ns_sendmail is written in Tcl, Til, and if you look you'll see it depends on some low-level SMTP protocol handling Tcl procs.

Beyond the issues you raise ns_sendmail is slow as it always builds a socket, does the SMTP stuff, then tears down the socket for the given message.  This is fine for single messages (even those with lots of recipients, of course) but not for a bunch of messages sent out at once, say a bunch of daily digests built for a bunch of forums.

It would be quite simple to bulk-mail by plugging into the low-level SMTP code and only opening the socket once while sending everything that needs sending.