phplist3 is a free, open source marketing & customer engagement project written in PHP and released under AGPL-3.0. It has 871 GitHub stars, 290 forks and 92 open issues, and was last pushed 3 days ago. On this registry it ranks #38 of 50 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available.

What is phplist3?

phpList 3 is a fully functional open source email marketing manager, written in PHP and released under the AGPL-3.0 licence, for creating, sending, integrating and analysing email campaigns and newsletters, aimed at organisations that want to run campaign infrastructure on their own server rather than hand it to a third party.

What it is

phpList 3 is a self-hosted email campaign and newsletter manager. It provides a responsive web-based administration interface alongside a command-line interface, and it covers the full campaign lifecycle: building lists, composing messages, scheduling and dispatching sends, processing bounces, and reporting on responses. It is built as a plugin-based architecture with multiple APIs, and it carries a marketing API surface that lets other systems integrate with the list and campaign data. Content personalisation customises every message to individual subscriber attributes and preferences, and segmentation supports targeting subsets of a list.

The concrete problem it solves is the operational load of large-scale email delivery. Message-queue management load-balances and throttles multiple sending accounts and campaigns, and tracks every delivery outcome, so a send of any size can be paced against host-imposed limits instead of being fired off in one burst. Domain-based throttling enforces host-specific policies through custom rules, and bounce handling applies policy and regex-based processing while archiving every bounce so it stays auditable. For teams that would otherwise run a hosted mailing provider, deploying phpList on their own server replaces that dependency while keeping the same campaign, list and analytics functions.

Key capabilities

  • Responsive web-based and command-line interfaces for administration and sending.
  • Message-queue management that load-balances and throttles multiple accounts and campaigns and records every delivery outcome.
  • Real-time analytics on message responses and subscriber behaviour, plus marketing statistics reporting.
  • Automated bounce management with policy and regex-based handling, with every bounce archived.
  • Content personalisation and segmentation driven by subscriber attributes and preferences.
  • Amazon SES support built in and optimised, alongside domain-based throttling rules.
  • CSV and Excel subscriber import and export including attributes and preferences, email attachments, RSS feed reading on a per-user schedule, and "Send a Webpage" remote HTML polling, conversion and dispatch.

Who uses it and how

  • Large senders running high-volume campaigns on their own infrastructure. phpList was used to send more than 25 billion campaign messages in 2018.
  • International teams. The project reports use in 95 countries and availability in 20 languages.
  • Teams that want managed hosting. phpList Hosted offers a free account, and data can be migrated between a self-hosted installation and the hosted service in either direction.
  • Evaluators and developers. A demo installation is available and is wiped and refreshed every hour.
  • Administrators who need campaign control. Campaigns can be scheduled, paused, resumed, repeated and requeued.

Getting started

Deploy it on your own server by copying the lists directory from the tar file into your webroot and opening http://yourdomain/lists/admin/, or sign up for a free hosted account at https://phplist.com. A demo is available at https://demo.phplist.org.

How it compares

No comparable tools or paid products are named in the facts provided for this entry, so phpList 3 stands alone in this registry rather than being placed against a set of alternatives. Its distinguishing points are the AGPL-3.0 licence and the choice between self-hosting and a hosted account from the same project, with data migration supported between the two.

When to use it — and when not to

A self-hoster must operate the MySQL database the upgrade instructions back up with mysqldump, keep lists/config/config.php and any edited lists/texts/english.inc or other language files across upgrades, configure the web server, and deny web access to the config directory, for which an example .htaccess for Apache is provided. Anyone unwilling to own that stack, or who needs a fully managed service out of the box, should not self-host. The trade-offs are real: large database upgrades can take a long time and must not be interrupted, the README's Requirements and Development Installation sections are empty placeholders, and 92 issues remain open.

project readme (upstream, from github) — read inline

CI GitHub tag (latest SemVer) License: AGPL v3 Translation status Docker Image Version (latest semver) Docker Pulls


Fully functional Open Source email marketing manager for creating, sending, integrating, and analysing email campaigns and newsletters: https://www.phplist.org

phpList includes analytics, segmentation, content personalisation, bounce processing, plugin-based architecture, and multiple APIs. Used in 95 countries, available in 20 languages, and used to send more than 25 billion campaign messages in 2018.

Deploy it on your own server, or get a hosted account at https://phplist.com.

Community | Hosted | Demo


Features

  • Responsive web-based, and command-line interfaces
  • Real-time analytics: track message responses and subscriber behaviour
  • Message-queue management: load-balances and throttles multiple accounts and campaigns; tracks every delivery outcome
  • Content personalisation: every message customised to individual subscriber attributes and preferences
  • Automated bounce management and processing: policy and regex-based handling with every bounce accessibly archived
  • Schedule, pause, resume, repeat, and requeue campaigns
  • Amazon SES: built-in optimised support
  • CSV and Excel based subscriber import and export, including attributes and preferences
  • Send a Webpage: automatic remote html polling, conversion, and dispatch
  • Email attachments support
  • Domain-based throttling: comply with host-specific policies by defining custom rules
  • RSS Feeds: phpList can be set up to read a range of RSS sources and send the contents on a regular basis to users. The user can identify how often they want to receive the feeds.

Get phpList

If you'd like to use phpList for your own campaigns, or you just want to try phpList out, there is no need to do all the work of installing it yourself. phpList Hosted is free to use, just sign up to get started.

If at a later time you do want to migrate from your own installation to phpList Hosted, or vice versa, your data can be migrated.

Alternatively, you can try out the latest phpList release at phplist.org. This installation is wiped and refreshed every hour.

Requirements Development Installation


Upgrade

For users

See Upgrading a manual installation

For developers

'Use translate.phplist.org to translate the phpList admin interface.' How to upgrade from any previous version to the latest version

How to upgrade from any previous version to the latest version

BACKUP your database (e.g. mysqldump -u[user] -p[password] [database] > phplist-backup.sql)

Copy your old configured files to some safe place

These files are:

  • lists/config/config.php
  • possibly lists/texts/english.inc or any other language.inc if you have edited it

Copy the files from the tar file to your webroot.

You can copy everything in the lists directory in the tar file to your website. To facilitate future upgrades, ie to make it easier for you to simply copy everything I have now put the "configurable" files in their own directory. They reside in "lists/config". This is hopefully going to be the directory that you can keep between upgrades, and that will contain the only information that you want to be changed in order to make it work for your own site.

Copy your configuration files to lists/config or re-edit the new config file sometimes new features are added to the config file, so it's better to use the new config file and re-adapt it to your situation.

An example .htaccess exists file in this directory. You should not allow access to this directory from the webserver at all. The example will work with apache.

You can overwrite the files that are there. They are example files.

Go to http://yourdomain/lists/admin/ and choose the 'Upgrade' link

Click the link on this page.
This process may take quite a while if your database is large. Don't interrupt it.

Issues

Report issues to GitHub Issues and, if applicable, add the respective label.

Languages, Info files and Contextual help

In the directory phplists/lists/texts you will find existing translations of the public pages of phpList. You can use them in your config file to make the frontend of the system appear in the language of your choice.

In the config file there are a lot of choices to make about your particular installation. Make sure to read it carefully and step by step work your way through it. A lot of information is provided with each step.

Themes

phpList comes with Trevelin theme on default. Older versions than 3.4.6, include additionally Dressprow which is not currently maintained. Patches to Dressprow theme are still welcomed. Both themes are available for installation via GitHub.

To get t

readme truncated — read the full docs on github

Frequently asked questions

Is phplist3 free to use?

phplist3 is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does phplist3 do?

Fully functional Open Source email marketing manager for creating, sending, integrating, and analysing email campaigns and newsletters.

What is phplist3 written in?

phplist3 is primarily written in PHP. Its source is publicly available at https://github.com/phpList/phplist3, and it has 871 GitHub stars.