Translations of this page:

approvemailing plugin

—- plugin —-

description: This plugin adds a workflow for approval of a mailing campaign before it can be sent out.
author : Alexander Schmitt (alex)
type : Plugin creating a tab for the send page
lastupdate : 2023/09/16 20:08
compatible : >= 3.6.13

bugtracker :
sourcerepo :


This plugin hooks into the “send campaign” page and provides an additonal tab for an approval workflow. If the campaign is aimed to one or more subscriber lists, that require approval, the campain cannot be queued for sending without an approval of a second administrator. Approval can be given by clicking the designated button on the “Approval” tab. An e-mail with an approval request can be sent out from the tab as well, so to explicitly request the necessary approval from another administrator. In settings, you can configure the subscriber lists you want to require approval. A default recipient for approval request e-mails may also be configured, but can be overwritten with every request.

The plugin currently supports english and german UI language.


:!: External requirements: This plugin requires the following additional components that must be installed separately:

  • server configuration for the PHP `mail()` function, if you want to use the “Request approval” mail send button.

To install through phpList go to the Plugins page (menu Config > Manage Plugins) and use the package URL


To install manually, download the plugin zip file from Expand the zip file, then copy the contents of the plugins directory to your phpList plugins directory.


Handle approvals and approval requests:

Whenever you create a mailing campaign which aims to one or more subscriber lists, that require approval, the “Approval” tab page on the “send campaign” page will state, that this message needs approval. A button is presented to “Approve mailing campaign”. Approval can only be done by a different administrator than that creating the campaign, thus, a 4-eyes principle is realised for sending the campaign. The button will be grayed out, if the currently logged in admin is the creator of the campagin. If you are allowed to approve the campaign, simply click that button to approve. After approval, the campaign my be queued for sending by any administrator.

Below the “Approval” button, a section is included where you can easily send out an approval request to your fellow administrator, telling her/him, that you have created a campaign that needs approval. Enter the e-mail address of the person the request should be sent to and click the “Request approval” button. An e-mail containing a link to the approval page of that mailing campaign will be sent to the given recipient. The recipient must sign in to phpList with his/her credentials in order to perform the approval.

The approval tab will show a notification, if the subscriber list(s) included in a campaign do not require approval. A notification will also be shown, if a campaign already has been approved.

Additionally, you can see the approval status of a campaign in the campaigns table under Campaigns > List of campaigns in the column “Status”.


Configure the subscriber lists, that will need approval:

Go to the Settings page (menu Config > Settings) and scroll down to the section “approvemailing settings”. In the setting “IDs of lists that need approvement when sent to, separated by comma”, insert the list IDs of the appropriate lists. You can find the ID of a subscriber list on the right column in the table of the lists showed under Subscribers > Subscriber lists. If you like to include more than one list, separate the list ID numbers by comma.

Configure a default e-mail recipient for approval requests (optional):

If you like, you may configure a default value for the e-mail address where approval request are sent to. The recipient of an approval request can also be entered/overwritten every time you send an approval request. Go to the Settings page (menu Config > Settings) and scroll down to the section “approvemailing settings”. Add the appropriate e-mail address into the setting “Default E-Mail address to send approval requests to”.

Change Log


Q: I cannot approve a campaign, the “Approve” button is grated out. How can I approve a campaign?
A: A campaign can only be approved by a different administrator than the one that created the campaign. This enforces a 4-eye-principle for sending out campaigns.

Q: I created multiple administrators to handle an approval workflow with this plugin, but the other administrator(s) cannot see my campaign. What can I do?
A: phpList as of version 3 does not allow “normal” administrators to see messages written by others and subscriber lists managed by others. You will have to use “super admins” or manipulate the phpList access check logic (see

Q: Approval request e-mails are not been sent out. Why?
A: The “request approval” convenience function uses your server's PHP standard mail() function. Be sure to configure your server accordingly to use this function.