o

HomeGuides › phpList

Setting up a phpList cronjob: sending the queue automatically

phpList can only send a newsletter once the queue is processed. By hand that means: open a browser window and wait. This guide shows how a call from outside takes that over.

Why at all

The browser window as a sending machine

Submitting a campaign in phpList only puts it into the queue. Sending starts when somebody clicks "process queue" in the menu – and then only for as long as that page stays open. With a list of a few thousand recipients you end up sitting in front of it.

Close the window too early and the rest stays behind. It continues next time, but only when somebody remembers. A send meant to run overnight cannot be done this way.

With a fixed call from outside the problem disappears: the queue is processed regularly, in the portions you configured under "batch processing".

URL to call
https://ihre-domain.de/lists/admin/?page=processqueue&secret=...
Recommended interval
every 5 minutes
Tested with
phpList 3.x
Sufficient plan
The free plan is enough.

Setup

Step by step

The AI does it faster

You do not have to transfer any of this by hand. Paste this guide – or the one for your own system – into the assistant, and Cronjob.de fills in address, method, schedule and headers. Where something is unclear it asks instead of guessing. At the end you see what was entered and create the job with one click.

Included in the free plan at no extra cost. You will find it after signing in under "Cronjobs" → "Create with AI".

  1. Set the secret for remote processing

    Open Config → Settings and go to the Security section. For "Secret for remote processing" phpList suggests a random value the first time. Accept it or enter a long value of your own.

  2. Assemble the address and check it

    The address consists of your phpList installation, the admin path and two parameters. Open it in a browser once: a short statistic without the usual interface is correct.

    https://your-domain.com/lists/admin/?page=processqueue&secret=YOURSECRET
  3. Create an account at Cronjob.de

    Registration takes a minute and is free. Three cronjobs stay free forever, the first 14 days run on the Unlimited plan.

  4. Create a cronjob with that address

    Five minutes is the interval phpList recommends. More often gains nothing – see the question about the lock below.

    */5 * * * *
  5. Switch on error notifications

    Enter an email address in the folder settings. A send that has stalled otherwise only surfaces once the campaign should long have gone out.

Verification

Is it actually running?

Create a test campaign to a list containing a single address. It should arrive within five minutes. The Cronjob.de call log shows the output of each run with the number of messages sent; inside phpList you find the same figures under "Campaigns" for the campaign in question.

FAQ

Common questions about phpList

What happens if a call arrives while the previous one is still running?
Nothing bad. phpList detects it and stops the second run immediately. That way only one sending process is ever active – which also matters so the limits set under "batch processing" are honoured.
The call ends after a minute. Does that cut the send short?
The call from outside ends after 45 seconds (free) or 60 seconds (Plus and Unlimited). That is fine: phpList works through the queue in batches and continues where it left off on the next call. Set the batch size so that one pass fits into that window.
Do I really have to set the secret?
Yes. Without a secret phpList refuses remote processing and the address only returns the login page. The option exists as of version 3.1.1.
I see the login page instead of the statistic.
Then the secret is wrong or not saved yet. Check Config → Settings → Security. Also mind the path: many installations keep phpList under /lists/, some directly in the root.
Can I fetch bounces with this too?
Yes, there is a second address using page=processbounces. Create a separate cronjob for it, once a day is enough. The secret is the same.

Create your cronjob now

Create an account, enter the address, click the schedule. Three cronjobs are free forever, the first 14 days run on the Unlimited plan.

Start for free See pricing

More guides

Official documentation of phpList

The details about phpList come from their own documentation, as of September 2026. Please check there whether anything has changed since.