Mailman is a mailing list program for Linux. It only works so long as you already have a working mailserver, of course. :)
I'm assuming you're using debian, Postfix, and virtual domains. If possible, do it using the offsite tutorial above this one on the tutorials page.
This guide covers some things that (in my opinion) should be covered in that guide.
The first thing you'll want to do is 'apt-get install mailman'
Now open up your /etc/mailman/mm_cfg.py
Uncomment the following line (make sure there are no white spaces before the 'MTA')
Now add the following names, replacing the following domains with the domains you plan on having a mailing list on.
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['necropile.com', 'sociopathological.org']
Now open up your /etc/postfix/main.cf
Find your 'alias_maps', and change it to look like:
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
Assuming you only have one domain name, and wish to use mailman on it, you have to change 'myhostname'. You'll probably have to do this anyways to get Postfix/virtual-domains properly.
#myhostname = domain.com
myhostname = sub.domain.com
Now add the following to 'virtual_alias_maps'.
virtual_alias_maps = (all your other crap), hash:/var/lib/mailman/data/virtual-mailman
Now to set up your mailing list. If you get 'command not found' errors, just go to /usr/lib/mailman/bin to find the binaries.
/usr/lib/mailman/bin/genaliases (very important, for postfix to find the alias/db files)
echo > /var/log/mail.log
Try going to http://sitename.com/cgi-bin/mailman/admin/yourlist/
If it doesn't load, or you get 'Forbidden', chances are apache is running as 'nobody'. You'll have to change that to 'www-data', since there is no way to change the user mailman expects.
Other than the web based interface, your best bet is to create a text file. Each line should be an email address.
add_members -r /path/to/file.txt listname
That will add those email addresses to the list, and them them an intro email. Add a spare email address, and check it. If it doesn't go through, check /var/log/mail.log
Combined with google or irc.UnhandledExceptions.com you should be able to get it running rather quickly. When all else fails, try 'genaliases'!