Forum OpenACS Q&A: ns_sendmail, qmail-inject, etc.

Posted by Andrew Piskorski on
There are probably very good performance reasons for calling qmail-inject directly if you're trying to push out a large amount of email. For bulk mailings to your tens of thousands of users, for example. I know at least a few ArsDigita sites had a serious requirement for that (, probably others), and back in the ACS 3.x days there was serious but incomplete work done on a high-performance, Qmail specific Bulkmail package.

ns_sendmail is a quite simple Tcl proc, and has a deserved reputation for slowness. Joel, it does not call the ns_sendmail unix command, it connects to a port (usually localhost) and does a real SMTP transfer. Look at the ns_sendmail code and see for yourself. SMTP is slow to begin with, and ns_sendmail, being a low level but quite simple implementation, is much, much slower than SMTP has to be. It also isn't very featurefull.

Currently, Mat Kovach seems to be driving development of an OpenACS replacement for ns_sendmail, based on Tilmann Singer's acs-mail-lite work. See e.g. these threads: Dec. 2002, Feb. 2003