phpList 3.3.2 released: New statistics, plugins, and fixes


phpList 3.3.2 is a new release with 2 new features, 4 plugins, 20 fixes, and 339 code commits. See the Download page for installation and upgrade instructions.

Changes in this release

Major changes

New default interface

The ‘Trevelin’ theme, first introduced in phpList 3.3.0, it’s now the default theme for phpList.
You can switch to the old Dressprow theme via the ‘Config’ → ‘Settings’ page.

Four Additional plugins included by default

CKEditor enabled by default

CKeditor is now the default campaign editor for phpList. You can change to FCKeditor via the ‘Config’ → ‘Manage Plugins’ page.

Additional campaign statistics

  • Added Individual campaign views by each subscriber are now recorded separately and are no longer recorded as aggregated statistics. Access times of each campaign view (including dates and time elapsed) are now available via the ‘Statistics’ → ‘View Opens’ page.
    This is particularly useful for tightly-targeted campaigns, revealing those subscribers with the highest interest. High view counts can also indicate that campaigns were forwarded and viewed by other people without using the forwarding links included by default in campaign footer text (again indicating interest).
    Thank you Catalysis Group for requesting and trialing this feature.
  • Total views per subscriber may be exported to CSV spreadsheets
  • On ‘Statistics’ → ‘Statistics overview’, you can now find Unique Views and Unique Clicks per campaign
  • Click Per View Rate is now stated on the Campaign Statistics page.

Added warning message before leaving page

  • On setting page warning popup if you are leaving page clicking on left menu and with unsaved changes.
  • On send page warning popup if you are leaving page clicking on the left menu, with or without unsaved changes.

New look for public pages on fresh intallations


  1. Successful operation messages now appear in green to avoid confusion
  2. All tabs on ‘Send a campaign’ page are now visible on wider screens, they will only be hidden if there isn’t enough space
  3. ‘View’ subscribe page button opens in a new tab
  4. Improved formatting of ‘Import by CSV’ page
  5. Improved navigation from page to page:
    • On ‘System’ → ‘Manage Bounces’ and ‘Subscribers’ → ‘Bounces per list’ pages the subscriber address is now linked with the subscriber history page
    • Email subject on the statistics overview for a particular campaign page is now linked to the campaign itself
    • Added link to the statistics page of the particular campaign on ‘View a campaign’ page for sent campaigns.
  6. ‘Send test’ button is moved to the side of the test email address field on Send Campaign pages
  7. All ‘Go there’ links on ‘Config’/’Checklist’ page are replaced with linked page titles for easy access
  8. Improved visualization when Editing Categories for lists
  9. Improved date formatting on bounces and user history pages
  10. Numerous number formatting improvements on Admin pages
  11. Numerous improvements to table column titles and labels.


  1. Fixed ‘unidentified bounces older than two months’ removal – Thanks to Duncan ,See the Pull Request
  2. Fixed orphaned database records following use of the deleteuser() function in file inc/userlib.php: records included in user_message_forward and linktrack_uml_click tables are now removed cleanly – Thanks to Duncan, See the Pull Request
  3. Fixed missing duplication validation when modifying a subscribers email, now checking if an email address has been entered and does not already exist when changing the email address – Thanks to Duncan, See the Pull Request
  4. Fixed phpList displaying without a theme when the function parse_ini_file() has been disabled. Now when that happens phpList will use the first theme that is found – Thanks to Duncan. See the Pull Request
  5. Fixed display of the selected theme’s directory instead of its name – Thanks to Duncan. See the Pull Request
  6. Fixed repeat message processing trying to copy an index, that caused a repeated campaign to eventually not to be sent because ‘finishsending’ date is in the past – Thanks to Duncan, See the Pull Request
  7. Fixed miscalculation of percentages on Campaign Statistics page
  8. Fixed input fields scale on campaign composer page on small screens
  9. Fixed lists not showing by default on ‘Send a campaign’ page in mobile view
  10. Fixed “Select the lists you want to exclude from this campaign” option only listing the category of lists on Trevelin
  11. Fixed the progress bar remaining visible after the processing of the message queue has finished
  12. Fixed rendering problems of the login page on Safari for Mac
  13. Replaced deprecated each() function in php 7.2 with the equivalent foreach() construct – Thanks to Duncan, See the Pull Request
  14. Fixed menu items of plugins being visible even though the plugin has not yet been enabled – Thanks to Duncan, See the Pull Request
  15. Fixed creation of unnecessary temporary file when exporting subscribers – Thanks to Duncan, See the Pull Request
  16. Fixed embedding of external images when running phpList from command line – Thanks to Duncan. See the Pull Request
  17. Several sets of changes to “Domain Statistics” page to make the results more consistent – Thanks to Duncan, See the Pull Request
  18. Changed default password hashing algorithm (some remaining instances from 3.3.1)
  19. Change the “From Field” on view campaign to print the full sender address, including email address so it is possible to determine on sent campaigns what address it was sent from
  20. Changed the info on “View a Campaign” page to print Campaign subject and Campaign alias, if the campaign has an alias set, for user reference.
  21. Change ‘View a campaign’ page title to use campaign title (not subject).


  1. Added suport for pop-before-smtp, Thanks to Jean, See the Pull Request
  2. Comand line tools to clean up lists:
    • removeemptylists : will remove lists that have no subscribers
    • mergeduplicatelists : will merge lists that have the same name and put all subscribers and all campaigns on the first one

Commands only run from commandline as follows:
phplist -c [configfile] -pruncommand command=removeemptylists
phplist -c [configfile] -pruncommand command=mergeduplicatelists


phpList 3.3.2 is the work of Duncan Cameron, Edmund Huggett, Tim Coen, and other Open Source community members, as well as phpList Ltd. developers, including the first contributions from our new staff Developer Xheni Myrtaj.

To get involved in phpList development, check out the developer resources pages.

As described in a recent blog post, phpList 4 is making progress and needs your help — checkout the contributors guide or architecture overview for an introduction.


Need help upgrading your phpList server to the newest version? Ask the community at Professional support from community experts, as well as manuals, source code, and developer resources, can be found at Report all bugs to the bugtracker!

Want to focus on campaigns and forget hosting headaches? Sign up at for an account with everything included. Send from 300 free messages to 30 million messages per month — simple.

  1. Great to see that you added 4 additional plugins by default and having CKEeditor by default also is a major plus.
    Any chance you could consider adding ‘SubmitByMail’ as a default plugin in the/a next version ?
    A fabulous plugin that makes it dead easy to submit a campaign – made my life a lot easier (imagine having to
    explain to a handful computer analphabetics all the different steps and options of the campaign submission gui).
    Yet another reason: the developer of that plugin is no longer supporting it and there’s always a risk that one of the
    next phpList updates will break the plugin.

    1. Thanks for the suggestion, and great to hear that the SubmitByMail Plugin is working well for you. If user acceptance tests were added for this plugin then it could be considered for inclusion. As things stand you are correct that it could become unintentionally incompatible with a future release, and this would be undetectable without manual testing. Please let the community know via the Forum or Mailinglist if you are able to work on that.

  2. I have a problem! I installed 3.3.2 and I get a blank page, without anything else. I use the same config + extended used in my installation 3.3.1 that is working fine. What could it be?

Leave a Reply