Mailman
Mailman
Description
Mailman is free software for managing electronic mail discussion and e-newsletter lists. Mailman is integrated with the web, making it easy for users to manage their accounts and for list owners to administer their lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more.
Thanks to Gordon Rowell for developing the rpms.
Installation
yum --enable smecontribs install mailman smeserver-mailman
You should now see a Mailman section under the Configuration section of the server-manager.
Configuration
File locations
Location | Description |
---|---|
/var/lib/mailman | location of mailman lists and archives |
/usr/lib/mailman | location of mailman program files |
/usr/lib/mailman/aliases | location of qmail alias files |
Creating lists
Go to http://domain.name/mailman to create new lists.
If your SMEServer has multiple domains configured, do not prepend www. before the virtual domain.
For example: go to http:// virtualdomain.name/mailman to create lists for that domain name.
Keep in mind that no list can have the same name as an ibay or an user so choose the name carefully.
Command line options
You can do a lot using the command line scripts located in /usr/lib/mailman/bin
For example
/usr/lib/mailman/bin/mmsitepass | will set the master password for all lists |
/usr/lib/mailman/bin/list-members [listname] | will list the members of [listname] |
Running the script with --help will display the options available
Transferring Lists
You can transfer lists from another server and keep everything in tact. It's an easy process but the Mailman FAQ and info seems to be sparse and complicated. This simplifies everything.
OLD SERVER
First stop the mailman service.
/etc/init.d/mailman stop
Next, tar/zip up the lists.
tar -czvf /temp/mailman.tar.gz /var/lib/mailman
Next, transfer it onto the new server using scp or rsync:
scp -P <sshportnumber> /temp/mailman.tar.gz <newserverip>:/var/lib
or
rsync --progress -te "ssh -p <sshportnumber>" /temp/mailman.tar.gz <newserverip>:/var/lib
NEW SERVER
Change to the rpm location.
cd /install
Install the rpms.
yum localinstall mailman-* smeserver-mailman-*
Extract/untar/unzip the tar/zip file.
tar -xvzf /var/lib/mailman.tar.gz
The lists are transferred but the SME SERVER doesn't know about them. Let the server know about the list:
signal-event mailman-addlist <listname>
All your lists and lists' configurations should now be available at: http://domain.name/mailman
Personalization
If you want to enable personalization in mailman (make every name sent with the name of the recipient in the to: field as example or add the name of the user on the text) you do this: Copy the entire folder mm_cfg.py from
/etc/e-smith/templates/usr/lib/mailman/Mailman/
to
/etc/e-smith/templates-custom/usr/lib/mailman/Mailman/
creating the needed folders if they arent there (most probably) Then edit:
/etc/e-smith/templates-custom/usr/lib/mailman/Mailman/mm_cfg.py/30hostname adding this text to the last line: OWNERS_CAN_ENABLE_PERSONALIZATION = 1
And run:
expand-template /usr/lib/mailman/Mailman/mm_cfg.py signal-event reboot
Then enter to your mailing list admin (yoursite.com/mailman/admin/yourlist) and go to non-digest and in "Should Mailman personalize each non-digest delivery?" choose either yes or full personalization, test both to see wich one do you like more... Also if you want to add a header with the person name enter in "Header added to mail sent to regular list members" this:
Hello dear %(user_name)s
and mailman is going to replace the string with the name the person used when he/she subscribed...
For more information
Mailman website http://www.list.org/ Mailman FAQ http://www.python.org/cgi-bin/faqw-mm.py?req=all
Current Issues
- Check submitted bugs in the bug tracker under the contrib component "smeserver-mailman"
- Current mailman release is 2.1.9
Bugzilla:2411: /usr/lib/mailman/aliases and /var/lib/mailman are not currently backed up