OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

phpList

Long-running PHP and MySQL newsletter manager with detailed throttling and bounce rules

Open source alternative to

Visit phpListGitHubDocumentation

Main features

  • Subscriber lists with CSV and Excel import and export
  • Customizable subscribe pages that can be embedded in a website
  • Personalization with subscriber attribute placeholders
  • Plain-text, HTML and template-based campaigns with attachments
  • Scheduling, pausing, repeating and requeuing of campaigns
  • Queue throttling, including per-domain rules
  • Automated bounce processing with regex-based rules
  • Open, click and bounce statistics
  • Built-in Amazon SES support
  • RSS feeds sent to subscribers at the frequency they choose
  • Send a web page as a campaign
  • Plugins, REST API and command-line interface

What phpList does

phpList is one of the oldest open source newsletter managers still in active development. It sends newsletters, announcements and notifications to subscriber lists from a PHP application backed by MySQL or MariaDB. Subscribers sign up on customizable subscribe pages, which can be embedded in a website, and carry attributes that are used to personalize messages with placeholders.

Campaigns can be plain text, HTML or based on templates, and can include attachments. They can be scheduled, paused, resumed, repeated or requeued. Two features are less common in this category: RSS-to-email, where subscribers receive new feed items at an interval they choose, and “send a web page”, which fetches a remote HTML page and sends it as a campaign.

Deliverability controls

phpList’s strength is the control it gives over the sending queue. You can throttle sending overall and per receiving domain, which helps when a large list is concentrated on a few mailbox providers. Bounce processing is automated and rule based, with regular expressions deciding how each bounce is handled; addresses that keep bouncing are removed automatically, as are unsubscribes. Statistics cover opens, clicks and bounces. Amazon SES is supported directly, and sending can be run from the browser, from cron or from the command line.

Self-hosting phpList

phpList runs on ordinary PHP hosting. The project recommends PHP 8.1 or later with the mysqli extension and the other listed extensions, MySQL or MariaDB and a web server such as Apache. A manual installation means uploading the release archive, creating a database and editing config.php; the manual also covers an automatic updater and auto-installers, and a Docker image is published as phplist/phplist. For production you will want a cron job or command-line process to work through the queue and process bounces. Data can be moved between a self-hosted install and phpList Hosted in either direction.

Hosted version

phpList Hosted at phplist.com is run by the developers, who take care of updates, security, bounces and deliverability. The README says you can start with a free account, and paid plans are based on usage.

Limitations

The administration interface and workflow feel older than those of newer tools, and there is no visual automation or customer journey builder. phpList handles one-to-many lists only, so it is not a discussion list manager. The project’s requirements pages mix older and current PHP guidance, so check that your server meets the current recommendation before installing.

Who it suits

phpList suits organizations, publishers and associations that send to large lists and want detailed control over throttling and bounce handling, on cheap PHP hosting or through the developers’ hosted service. It replaces the list and campaign side of Mailchimp. For a lighter modern interface look at listmonk or Keila, and for automation at Mautic.

Technical details

Self-hosting needs

  • MySQL or MariaDB
  • Web server
  • Cron job

Built with

  • PHP
  • JavaScript

GitHub topics

  • amazon-ses
  • bounce-messages
  • digital-marketing
  • email-attachments
  • email-campaigns
  • email-marketing
  • email-marketing-campaigns
  • marketing-api
  • marketing-emails
  • marketing-statistics
  • marketing-tools
  • newsletter
  • newsletter-api
  • newsletter-mail

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.