🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.mail.sendmail
Article #3315

Re: Setting up and running an internet style mailing list

#3315
From: Eric S. Johnson
Date: Fri, 14 Apr 1989 00:50
57 lines
2930 bytes
I used to moderate a fairly large mailing list. There came a point in
time when this mailing list grew to large. 20-30 messages a day 
on a list of 150-200 people can make even the fastest machine crawl.
Since the machine the list was running on was not bought to run mailing
lists, I caught a bit of flak from above when the load average shot
up above 15 and there were 10 sendmail processes chewing on the mailing 
list. I had to do something. I proposed to the people on the list that
it was time to convert it to a newsgroup. The responce was completly 
negative. So I dug out the sendmail docs and found another solution.
This might be of help to other mailing list admin's with large lists.

Basicly, sendmail can be told to use queues other then the default
/usr/spool/mqueue. To do this you use the -oQ option on the command
line. So I set up a new queue just for the mailing list. I then 
made a small variation on Karl K.'s generic mailing list system 
and Voila: there is never more then one sendmail process crunching 
on the mailing list. Here is what you do. The aliases file
looks just like Karl's generic one:

listname: "| /usr/spool/mqueue/listname/send-list"
listname-request: listmaintainer
owner-listname: listmaintainer
listname-out: :include:/usr/spool/mqueue/listname/aliasesforlist

Then the /usr/spoool/mqueue/listname/send-list script looks
like this:

#!/bin/sh
sed -e '/^From /d' | \
 	(echo Errors-To: listname-request@beach.cis.ufl.edu; \
	 echo Sender: listname-request@beach.cis.ufl.edu; \
	 echo Precedence: bulk; cat -) | \
	 /usr/lib/sendmail -f listname-request@beach.cis.ufl.edu \
			-F 'The List Name' \
			-odq -oQ/usr/spool/mqueue/listname \
			listname-out


The -oQ option tells sendmail to use the non-standard queue, and the
-odq option tells sendmail to simply queue the message for later
processing. 

Then, you need to have a sendmail daemon processes go thru and 
processes the queue every once in a while. I added the following line
to the rc.local file on the machine:

	/usr/lib/sendmail -oQ/usr/spool/mqueue/listname -q12h

And every 12 hours the daemon runs the queue. 

This lets you keep the machine load of the list down to a reasonable 
level, no matter what the traffic is. And it keeps the list traffic
seperate from your normal mail, which makes it easier to monitor.

Enjoy,
Ej
Technical Details
Message-ID: <20074@uflorida.cis.ufl.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!beach.cis.ufl.edu!esj
References: <532@drd.UUCP> <KARL.89Apr13152149@triceratops.cis.ohio-state.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!beach.cis.ufl.edu!esj
From: esj@beach.cis.ufl.edu (Eric S. Johnson)
Newsgroups: comp.mail.sendmail
Subject: Re: Setting up and running an internet style mailing list
Message-ID: <20074@uflorida.cis.ufl.EDU>
Date: 14 Apr 89 00:50:13 GMT
References: <532@drd.UUCP> <KARL.89Apr13152149@triceratops.cis.ohio-state.edu>
Sender: news@uflorida.cis.ufl.EDU
Reply-To: esj@beach.cis.ufl.edu (Eric S. Johnson)
Distribution: usa
Organization: UF CIS Department
Lines: 57