We are going to setup a self hosted email marketing system. The best open source email marketing software is phpList.
We will setup phpList CMS on a cPanel hosting account easily.
2) Upload the script (zip file) to your cPanel file manager web root’s public_html folder
3) Extract the zip file and move the “lists” folder and “index.html” file to web root’s public_html folder
Make sure that your public_html folder only contains the “lists” folder and “index.html” file. Any hidden or system files may have there as usual.
Create an additional folder “uploadimages” in public_html where the lists folder located.
4) Edit the index.html file to match the home page as your company information
5) Go to “lists” folder and then go to “config” folder (Go to > public_html > lists > config)
6) In the config folder you have to edit the “config.php” file and replace database information
Go to cPanel Home and create a database for the CMS, and create a database user, then add the user with the database with all privileges
Back to config.php file edit page and replace the database connection setting lines
7) Additionally, you will see a “config_extended.php” file in the “config” folder. You may copy some lines (Credits section for footer credit removal, SMTP configuration, etc.) from config_extended.php and insert them to config.php for extra features needed.
8) If SMTP/GoogleApp needed, insert/replace the following lines to the config.php file
$phpmailer_smtpuser = 'firstname.lastname@example.org';
$phpmailer_smtppassword = 'gsuite_gmail_app_password';
Important ! If the smtp mail function not work, make sure that, you can login with your smtp username and password, on mail.google.com in a web browser.
I recommend the default phpmailer for smooth functioning…
9) Also insert/replace the following Credit lines to remove footer branding
Bonus: Here is an ideal config.php file sample. Extract the zip file to get the config.php
10) Now visit the software installation page at http://companydomain.com/lists/admin
11) Click Initialize Database
12) Fill out some information (keep the admin password record saved) and click Continue
13) Click Do not subscribe
14) Then click Continue with phpList Setup
You are done ! Click Verify Settings and you are on the Login page.
Login to your Email Marketing System Control Panel
15) Take a plenty of time to configure some settings
Disable phpList news in footer and admin dashboard.
16) Go to > public_html > lists > admin > ui > phplist-ui-bootlist
In the phplist-ui-bootlist folder, open the “footer_minified.inc” file to disable community news feed, comment out the feed codes
You can also edit the footer copyright and credit links from footer_minified.inc
To replace the header logo you have to edit the header_minified.inc file
17) Open public_html > lists > admin > ui > phplist-ui-bootlist > header_minified.inc
To edit the favicon you have to edit the pagetop.php and pagetop_minified.php file
18) Open public_html > lists > admin > ui > phplist-ui-bootlist > [pagetop.php] [pagetop_minified.php]
It is also necessary to replace your logo and favicon
Replace logo on public_html/lists/images/phplist-touch-icon.png
Replace favicon on public_html/lists/images/phplist.ico
19) To edit title, add the following to config.php file
$installation_name = 'My Site Title';
20) To edit public page header logo, go to Admin Dashboard > Config > Settings > Header of public pages
Or, edit the frontendheader.php file from public_html > lists > admin > ui > phplist-ui-bootlist > frontendheader.php
Now is the time to remove footer credit, after removal I suggest to Donate/Support (at least for 1 month) to phpList for their effort and continuous development.
22) Go to > public_html > lists > admin
In the admin folder, open the “connect.php” file to replace footer credit text/image
Open connect.php file, edit the line numbers 294, 296, 298 and replace with blank powered by
23) In the admin folder, open the “sendemaillib.php” file to replace footer credit text/image
Open sendemaillib.php file, edit the line numbers 213, 265, 267, 269 and replace with blank powered by
24) Login to control panel and continue further administration configuration as much as you need.
25) Specially, install some plugins to get more functionality.
Admin Dashboard > Config > Manage Plugins
Plugins can be found on https://resources.phplist.com/plugins/start
All done ! Enjoy ! Free unlimited email marketing !
– – – – – – – – – – – – – – – – – – – – –
If you get the mail sending process failed and the message “Unable get lock for processing” shows, it means the queue process crashed in Database.
Go to your database table “phplist_sendprocess” and empty the table.