Mailman Free Newsletter Software
Python Based Free Newsletter And Mailing List Software
Free on-premise newsletter software for managing mailing lists and sending newsletters. Send marketing emails to millions of subscribers and turn them into customers.
Overview
Every organization needs email marketing solutions that allow them to send updates and promotions of products. In order to find leads and turn them into clients, email marketing is also the cornerstone of every digital business. Mailman is perhaps the most prevalent, commonly used and free newsletter software on the Internet and you can use it for newsletter campaigns.
Mailman is a free and open source mailing list and newsletter manager that enables organizations to send bulk emails to any number of subscribers. Mailman only offers an interface for site administration. It does not send or receive emails on its own, but relies on Postfix, an external SMTP server.
Mailman is developed in Python. The license for this open source newsletter software is GNU General Public License.
Features
- Multi-lingual support
- Subscriber Management
- Bounces Handling
- List Manager
- Automatic responder
- Dynamic Content
- Landing Pages
- Campaigns Management
- Templates
- Reporting & Analytics
- User Management
Installation
Install Postfix SMTP server
Install SMTP server such as Postfix by following guideline.
How to install and configure Postfix SMTP server
Install GNU Mailman
Install GNU Mailman from repository.
sudo apt install mailman
Run this command for creating mailman list.
sudo newlist mailman
Enter admin email address and set a password, then edit /etc/aliases file by using below command.
sudo nano /etc/aliases
Copy and paste the following lines into the file.
## mailman mailing list
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Run following command to update the alias index file.
sudo newaliases
Run below command to restart Postfix SMTP server.
sudo systemctl restart postfix
Run below command to start the Mailman program.
sudo systemctl start mailman
Install FCGIWrap
For Mailman web interface, install fcgiwrap package that allows to run CGI applications with FastCGI and Nginx.
sudo apt install fcgiwrap
Make sure FCGI and Nginx run as the same user (www-data). Edit the /etc/init.d/fcgiwrap by running below command.
sudo nano /etc/init.d/fcgiwrap
Set www-data value for FCGI_USER and FCGI_GROUP variables
FCGI_USER="www-data"
FCGI_GROUP="www-data"
Restart fcgiwrap service
sudo systemctl restart fcgiwrap
Install Nginx
Run below command to install Nginx.
sudo apt install nginx
Restart fcgiwrap service
sudo systemctl restart fcgiwrap
Edit the server block file of your website
sudo nano /etc/nginx/sites-available/your-site.conf
Add following lines in the server section.
location /cgi-bin/mailman {
root /usr/lib/;
fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location /images/mailman {
alias /usr/share/images/mailman;
}
location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}
Restart Nginx web server.
sudo systemctl reload nginx
Open below URL in browser to access admin panel.
http://www.your-site.com/cgi-bin/mailman/admin/