Thanks to
---------
Michael Sullivan
David Evans
Shane Akhgar
Tim Carlson
Chad Price
Karl Vogel
Demian hanks
Masopust Christian
Leif Ericksen
Jim Robertori
Normand Ranger
Answers
-------
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.
http://www.greatcircle.com/majordomo/
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.
Or
b) Write a custom app to deliver the mail to everyone on your list (via
sendmail).
4. If you're looking for an excellent mailing-list manager plus delivery
agent, I'd recommend qmail plus ezmlm. The blurbs are below.
http://www.qmail.org/
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
#!/usr/bin/sh
LOG=mail_list.LOG.$$ MAIL=/usr/bin/mailx
CAT=/usr/bin/cat
rm -f $LOG
touch $LOG
# you could use this next line if you have nis+ and intend to mail all
users
# niscat passwd.org_dir|cut -d: -f1
for USER in `$CAT $1`
do
$MAIL -v -r sysadmin@somewhere.edu -s 'IMPORTANT
SYSTEM NOTICE !!!' $USER'@somewhere.edu' </var/tmp/mailing/notice
>>$LOG2>&1
done
6. I use a simple script like this :
#/bin/csh
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
(optional)
end
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: jleung@usc.edu
ISD USC, Los Angeles, CA 90089-0251
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:13:14 CDT