Running your own mailing lists

Using ph to run your own list.
Using procmail and a feature of ph you can set up your own mailing list without neededing root on your own machine.

Many people don't realize that if you have a unique entry in your nickname: field you can send mail to that entry@uiuc.edu. For example:

ni[5]:ph joe gross return nickname
----------------------------------------
 nickname: cs281-list
----------------------------------------
Provided I'm the only entry with "cs281-list" in the nickname and there's no one with "cs281-list" as their alias or callsign I can actually mail to cs281-list@uiuc.edu and it'll go to me.

This is really cool because then I can use procmail to take any mail to that address and mail it to a list of people contained in a file in my account.

# The first part matches if the mail is addressed to cs281-list@uiuc.edu and there is
# NOT an X-Loop: cs281-list@uiuc.edu header. This is very important to stop mail loops
# should it somehow bounce back to my account. If I put myself on the list then it
# becomes obvious why the X-Loop: header is necessary.

# The f flag means this first recipe is a filter and all it does
# is add the X-Loop: header. It then continues because of the c flag

# The second part runs if the first part matched. It forwards the mail to everyone
# in the file cs281-list.list. Note: those are backquotes.

:fc
* ^TOcs281-list@uiuc.edu
* !^X-Loop: cs281-list@uiuc.edu
| formail -A "X-Loop: cs281-list@uiuc.edu"
  :Awi
  ! `cat $HOME/lists/cs281-list.list`
Interesting (and bad) things can happen if you have two such lists interacting with each other. I suggest you be very carefull about setting up anything that sends out mail automatically.

Back: Dealing with unwanted mail Top Next: Other nifty stuff

j g r o s s @ s t i m p y . n e t