mark@drd.UUCP (Mark Lawrence) (04/13/89)
I'm getting ready to set up a mailing list (to be run as Interviews, for example, is run) and I thought that I would set it up as a single user for the -request mail and a mailing list alias referenced from /usr/lib/aliases for the actual main list (where I would maintain the distribution in my own file using the include keyword). Obviously I'm using sendmail for transport (SunOS 3.5 version). I just want to set up the main address to echo incoming messages back to the distribution. I just happened to think about the situation where people have vacation turned on or mailer daemon messages come back at you -- I certainly don't want those rebroadcast. Inserting a "Reply-To" line in the header with the address being the -request alias would be nice but not immediately obvious to me as to how I'd go about it. I know other people run lists without admin type messages echoing back to the distribution -- how is it done? Mark
karl@triceratops.cis.ohio-state.edu (Karl Kleinpaste) (04/14/89)
mark@drd.UUCP (Mark Lawrence) writes:
I know other
people run lists without admin type messages echoing back to the
distribution -- how is it done?
Here is my canonical large mailing list maintenance scheme.
In /usr/lib/aliases:
ListName-request: karl
ListName: "|/n/dinosaur/0/karl/ListName/SendScript"
owner-ListName: ListName-request
ListName-out: :include:/n/dinosaur/0/karl/ListName/Aliases
owner-ListName-out: ListName-request
/n/dinosaur/0/karl is my home directory. The Aliases file has the
actual addresses. The SendScript looks like this:
#!/bin/sh
/bin/sed -e '/^Reply-To:/d' -e '/^Sender:/d' -e '/^From /d' | \
(echo Reply-To: ListName@cis.ohio-state.edu; \
echo Errors-to: ListName-request@cis.ohio-state.edu; \
echo Sender: ListName-request@cis.ohio-state.edu; \
echo Precedence: bulk; /bin/cat -) | \
/usr/lib/sendmail -f ListName-request@cis.ohio-state.edu \
-F 'ListName Mailing List' ListName-out
The Precedence: header and -f ListName-request are what prevent
vacation(1) from generating responses to mail which arrives from such
lists.
--Karl
esj@beach.cis.ufl.edu (Eric S. Johnson) (04/14/89)
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