User Tools

Site Tools

Translations of this page:



—- plugin —-
description: This plugin adds some small features to phplist.
author : Duncan Cameron
compatible : 3.x

sourcerepo :

This plugin adds various small features to phpList which aren't worth implementing as individual plugins.
Each feature can be enabled separately through the plugin's group on the Settings page.


See the README file on the GitHub page for how to install the plugin.


Settings page

When you have enabled the plugin there will be an Addons group on the Settings page where you can configure the plugin.

Log events when using remote page processing

When remote queue processing is used to manage the sending of emails phplist does not write progress records to the event log, such as a batch being completed. The plugin can write event log records

  • when a batch has been sent, the number of emails sent for the batch
  • when sending a campaign has completed

Workaround problem with Exim and line beginning with dot character

Some particular versions of Exim appear to handle incorrectly a line beginning with a dot character. The plugin can try to workaround this problem by prepending a space character to any line that begins with a dot character.

See the discussion

Verify that subscription requests originate from this website

This setting might help if your phplist installation is receiving automated subscription requests.

When this setting is enabled the plugin will validate that a subscription request originated from this web site. It checks whether the HTTP_REFERER header includes the “website” configuration setting. If it does not then the plugin returns a 404 status code to try to stop the originator from sending further requests.

phpList Updater

The plugin provides a page that updates the phplist code to the latest release. The main differences to the core phplist updater are

  • it ignores unexpected files and directories in the top-level of the phplist installation directory (usually 'lists')
  • it restores any additional plugins that have been installed
  • it can restore specific phplist files that have been modified, such as a language file, or custom modifications

There are some important requirements:

  • need to create a work directory that is writeable by the web server process. This should be outside the 'lists' directory and need not be within the web root at all, although it can be.
  • the phplist installation directory (usually 'lists' but could have been renamed) must be writeable by the web server process
  • the files in the phplist installation directory must be owned by the web server process, because they will be moved to the work directory

The plugin uses the work directory to download and expand the phplist distribution zip file, and stores a backup of the current phplist files and directories.

To enable the updater, add this to the end of config.php giving the file system path to the work directory

$addonsUpdater = [
    'work' => '/path/to/work/directory',

Restore config.php

The config directory including the config.php file will be replaced by that in the new distribution.

When config.php is in the default location, the config directory, the updater will restore it from the backup. However other files in the config directory will not be restored.

If you use the ConfigFile environment variable to place config.php elsewhere then the updater will not copy or overwrite that file. This assumes that the file is located outside of the phplist installation.

Restore specific files

After upgrading the phplist code to the new release, the updater can then copy specific files from the backup. This can be useful if you have made changes to phplist files that you want to keep.

You should first verify that the new phplist release has not modified the files in question. If they have been modified then you will need to reapply manually the changes to the files in the new release.

To have the updater restore specific files, add a list of the files to the config.php variable. The path of each file should be relative to the “lists” directory.

For example to restore the English front-end translation file that is in the texts directory

$addonsUpdater = [
    'work' => '/path/to/work/directory',
    'files' => [

Further options

The updater will install all the items, files and directories, that are in the “lists” directory of the phplist distribution, i.e. index.php, lt.php, the admin directory, the config directory, etc.

You can give the updater a set of items that should not be installed. For example, to not install the phplist REST API and the index.html file

$addonsUpdater = [
    'work' => '/path/to/work/directory',
    'do_not_install' => ['index.html', 'api.php', 'base'],

The web server php configuration might limit the elapsed time for which a php script can run, or the maximum amount of memory that can be used. You can give new values for those php configuration values

$addonsUpdater = [
    'work' => '/path/to/work/directory',
    'do_not_install' => ['index.html', 'api.php', 'base'],
    'max_execution_time' => 240,
    'memory_limit' => '1024M',

Running the updater

There will then be a menu entry System > Alternative updater

The update process has three stages

  • download the phplist zip file
  • expand the zip file
  • install the new phplist code

Only the third step changes anything, so if either of the first two steps has a problem, such as timing out, then you can repeat the process or just stop and upgrade manually. Downloading the zip file can take a while depending on your web server, sometimes more than 20s. Expanding the zip file can also take even longer, sometimes more than 40s.

When the phplist code has been updated there is a link to upgrade the phplist database, that should be applied, then logout and login again.

At some point phplist will display a popup window regarding initialising phplist in your language, just let this complete normally.

Export the event log

The plugin adds an item to the System menu for a page that will export rows from the event log to a CSV file.
The default is to export the most recent 5,000 rows.


Please raise any questions or problems in the user forum

plugin/addons.txt · Last modified: 2022/02/28 15:56 by duncanc

Contact Us


Boring Bit

phpList is a registered limited company

UK Company No. 07582966

VAT Registration 122 0788 37

© phpList 2016