The popular email campaign manager phpList is open source, free to download and easy to use. The company Tincan is the commercial sponsor behind phpList, which comes in two forms: a hosted solution or a download that you can set up yourself on your server. If you don't want to go through the hassles of setting up and managing the system, you should go for the hosted solution (starting at US$5 per month).
If you choose to set it up on your own server, you don't need to pay anything. However, Tincan also offers a service to set it up for you on your server (starting at US$185). Otherwise, you could just follow this article to set up phpList on your own and save yourself a few bucks.
Installing phpList
Installing phpList is very simple. Just make sure you have the following details for your server before you install:
- FTP host, username and password
- MySQL database host, username, password and a database
- Download phpList in your preferred format.
- Extract the source code.
- Upload
lists/
to the server using FTP. (The other files and folders are for your reference only.) - Edit the configuration file:
- Open
lists/config/config.php
in your favorite text editor. - Change the following to match your server's details:
Database Connection Settings
$database_host
: Where is the MySQL database installed? The most common installations have it on the same server as the Web server, so localhost should be fine.
$database_name
: On which database should the phpList tables be installed?
$database_user
: What is the user's name who can insert, update, select and delete from the above database?
$database_password
: What is this user's password?
phpList Table Names
Very often, people prefer to use a single database for all the tables in a given project. To avoid any confusion created by ambiguous table names, phpList by default prefixes all its tables withphplist_
. This also makes taking backups easier. You can change the prefix string for your setup by changing the$table_prefix
and$usertable_prefix
variables.
Specify the Location of Your phpList Files
Finally, you need to specify where the phpList files are located on your server. If you have installed phpList in a directory calledlists
in the root directory, the default settings should work:
$pageroot = '/lists';
$adminpages = '/lists/admin';
Important: You can't change the name of the admin directory. It has to be calledadmin
and should be located in thephplist
folder. You can, however, change the name of thelists
folder to anything, for examplenewsletters
.
lists
). A Web-based installer will walk you through the rest of the installation.Creating Lists and Adding Users
After you have installed phpList successfully, you are ready to create a list. Log in as the administrator and go to the lists page. (The default username/password is admin/phplist.) This page lists all your lists. :) You can add a new list by clicking on the add a list link. Creating a list doesn't need any further explanation. Remember to make the list active by checking the active checkbox.
To add a user, you can either go to the user's page and click on add user, or you could get him/her to subscribe through the subscribe page: https://YOURDOMAIN>COM/lists/?p=subscribe.
But why didn't she receive an email to confirm her email address?
That's because by default phpList is in test mode, where everything works but emails don't go out. You need to get out of the test mode to be able to send out emails. Open the configuration file (lists/config/config.php
) and look for the following line (it should be around line 190):
To get out of test mode, you need to set TEST
to zero. Change the above line to:
Save and upload the file to your server. Try and add a user again. This time the user should receive an email asking her to confirm her email address.
At this point, you are all set. People can subscribe and unsubscribe from your mailing list and you can send them emails using phpList.
Sending a Message to a List
To send a mail, you must go to the send a message page. This page is divided into six sections. Let's go through each one step by step:- Content: This where you draft the message that will be sent out.
- Format: You can choose to send the message in HTML or as plain text. You can also use a template for the message.
- Scheduling: If you want to send the message at a later point, you can specify when it should be sent out.
- Criteria: You can send the message based on certain criteria depending on the attributes you assign for users in the selected lists.
- Lists: Choose the lists to which you want to send the message.
- Misc: Specify the email address to which a message should be sent before and after the message has gone to the users.
After you are done configuring the message, to finally send the message to the users, go to the Lists tab and click on Send Message to the Selected Mailinglists.
The message has been queued for sending. Now, click on process the message queue. This will actually send out the messages. This process could take quite a while depending on the number of users in your mailing lists.
That's it! Your mailing list is ready. People can subscribe and unsubscribe from your lists whenever they like.