Summary: sending mail to 100+ users

From: jleung (
Date: Tue Feb 02 1999 - 16:47:20 CST

Thanks to
Michael Sullivan
David Evans
Shane Akhgar
Tim Carlson
Chad Price
Karl Vogel
Demian hanks
Masopust Christian
Leif Ericksen
Jim Robertori
Normand Ranger
1. Get yourself a copy of Majordomo. Not only will it handle large
   mailing lists - I use it for the CLIPS users mailing list which is at
   368 users right now, it also allows users to subscribe and unsubscribe
   to the list if you want to configure it that way.
2. There are so many methods I can begin to list them. Each one has its
   own merits. The easiest way to start would be a list of user names in a
   file and then in shell script do something like
   $ for i in `cat names.txt`
> do
> /usr/bin/mailx -s "Subject here" $i < /tmp/file_containing_message
> sleep 5
> done
   The sleep is to not overload the mail system or network.
   I prefer using sendmail directly but that's not really for a person
   doing their first bulk mail efforts and works better with perl when you
   get to that size.
3. If your users pick up their mail on that server via pop, then you might
   want to look into implementing pop bulletins. Most pop servers have
   support for this.
   If it's all local users (ie: users that have accounts on the machine)
   then your options are a little more limited:
   a) Append a properly formatted message onto the tail end of every
      user's mailbox. You might want to shut down sendmail temporarily
      while you're doing this.
   b) Write a custom app to deliver the mail to everyone on your list (via
4. If you're looking for an excellent mailing-list manager plus delivery
   agent, I'd recommend qmail plus ezmlm. The blurbs are below.
5. I usually use wham-bam script in 5 minutes approach. This little
   script will send email "from" the sysadmin, and will use a file
   specified as a command line option. The file should be a single column
   of user names, that will resolve to email addresses when put with the
   domainname. If you call this file mail_list, then you run:
   ./mail_list my_user_file
   It will create a log file of everything it does, and is also going to
   generate a lot of info because the mail command has the verbose switch.
   I'm sure there are more eloquent ways of doing this, but there's
   something nice about a bailing-wire and twin shell script. Good luck
   LOG=mail_list.LOG.$$ MAIL=/usr/bin/mailx
   rm -f $LOG
   touch $LOG
   # you could use this next line if you have nis+ and intend to mail all
   # niscat passwd.org_dir|cut -d: -f1
   for USER in `$CAT $1`
     $MAIL -v -r -s 'IMPORTANT
   SYSTEM NOTICE !!!' $USER'' </var/tmp/mailing/notice
6. I use a simple script like this :
   set liste = `cat file_of_addresses` # One address by line...
   foreach i ( $liste)
        elm -s "... Subject" $i < file_of_message
        sleep 2 # for not "overload" the mail queue
   echo "That's all

Original Question
I am just wondering how/what some of you have been doing/using to send
email message to hundreds of users on your systems, mainly Solaris?

Janet Leung E-mail:
ISD USC, Los Angeles, CA 90089-0251

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:13:14 CDT