Mailman Demystified
Mailman is a tool that allows you to setup mailing lists. You can use mailman to setup public or private lists. Public lists would be useful for sending out promotional emails to clients, or emails about updates to services. Private mailing lists, on the other hand, are useful if you want to communicate with all employees in a company or only in specific departments. In this guide, I will be going over the scripts found in this software, what they do, and how to resolve some common issues encountered with Mailman.
Mailman Paths
Mailman /usr/local/cpanel/3rdparty/mailman
Lists /usr/local/cpanel/3rdparty/mailman/lists/$MAILINGLIST/
Logs /usr/local/cpanel/3rdparty/mailman/logs/{bounce,error,locks,mischief,post,runner,smtp,smtp-failure,subscribe,vette}
Scripts /usr/local/cpanel/3rdparty/mailman/bin/
Private vs. Public
Private - Mailing list has private archives, are not displayed on mailman interface, and administrators have to approve subscriptions. Useful for internal communications (salesteam@domain.com, tech@domain.com, admins@domain.com)
Public - Public archives, anyone can subscribe, and is displayed on mailman interface. Useful for customer facing communication (bugs@domain.com, feedback@domain.com)
cPanel Scripts
The following scripts are all written by cPanel for basic Mailman administration and stored in /scripts/
/scripts/fixmailman
- ]
- Checks if mailman is disabled (Checks if skipmailman=1 in /var/cpanel/cpanel.config)
- Updates mailman
- Fixes permissions on archives and mailing lists.
Archive directory permissions should be 2750, while archives themselves should be 640. Mailing lists directories should be 2755, while the mailing lists themselves should be 664. The root mailing list directory should have permissions set to 660.
- Checks for qfiles (pickle files are the standard mechanism for object serialization) in mailman/qfiles/out and removes as needed
- Restarts mailman (/usr/local/cpanel/scripts/restartsrv --wait mailman)
- ]
- Adds mailman user, sets homedir to /usr/local/cpanel/3rdparty/ and sets correct groups on user
- Updates python if needed by fetching stable python and compiling from source.
- Installs dnspython dependancies after backing up current dnspython install.
DNSPython is a DNS toolkit for python that supports almost all record types. It is used in queries, zone transfers, and dynamic updates. It provides by high and low level access to DNS.
- Sets up mailman cronjob. The cronjob is stored at /usr/local/cpanel/3rdparty/mailman/cron/crontab.in. The cron is set to gzip the archives and remove old entries from the "bad" and "shunt" queue.
- Sets correct ownership and permissions on installation.
Archive directory permissions should be 2750, while archives themselves should be 640. Mailing lists directories should be 2755, while the mailing lists themselves should be 664. The root mailing list directory should have permissions set to 660.
- ]
- Under Available Users, select the email addresses of the users to whom you wish to delegate administrative rights.
- Click the right arrow button
- Click Save.
- ]
- Under List Administrators, select the email addresses of the users from which you wish to remove administrative rights.
- Click the left arrow button.
- Click Save.
- ]
- Use the /script/fixmailman script to resolve common Mailman issues.
- Use the /scripts/fixcommonproblems script to correct mailbox permissions, common mailman issues, CGI script issues, NDC and quota issues.
- Update cPanel & WHM with the /scripts/upcp script.
- To reinstall Mailman, use the /usr/local/cpanel/bin/mailman-install --force command.
- Mailman uses Python. If there is an issue with Python, reinstall Python with the /scripts/pythonup --force command.
-
Thank you so much for this helpful introduction! I have a question: I will soon be migrating a set of Mailman lists from another, non-CPanel server. Currently the lists is configured so that the list information page and web links are at the url: lists.example.com -- email is sent and received from listname@example.com I'm a little confused by the WHM tweak settings option - is "mail" the only prefix that can be used? That is, would it be possible for me to create the same settings and list names that I already have? Or will WHM/CPanel require the use of different naming conventions? Are there any other potential issues I should be aware of with a list migration? 0
Please sign in to leave a comment.
Comments
1 comment