Cronjob.de › Guides › phpList
Setting up a phpList cronjob: sending the queue automatically
To make phpList send newsletters without an open browser window, call admin/?page=processqueue&secret=… every five minutes. The secret is in the phpList settings under "Security". Remote processing has existed since phpList 3.1.1. At Cronjob.de you only enter this address, without a command line and without a crontab.
Updated:
Why at all
The browser window as a sending machine
Submitting a campaign in phpList only puts it into the queue. Sending happens when the queue is processed. By hand that means: open the page that processes the queue and keep it open. With a list of many 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.
A fixed call from outside takes care of it: the queue is processed regularly. phpList keeps to the sending limits you configured for batch processing.
- URL to call
https://ihre-domain.de/lists/admin/?page=processqueue&secret=...- Recommended interval
- every 5 minutes
- Tested with
- phpList 3.x (3.6.17)
- Sufficient Cronjob.de plan
- The free plan is enough for the five-minute interval.
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".
-
Check the secret for remote processing
Open Config → Settings and go to the Security section. "Secret for remote processing" already holds a random value that phpList generates during setup. Keep it or enter a long value of your own, made of letters and digits.
-
Assemble the address and check it
The address consists of your phpList installation, the admin path and two parameters. Use https so the secret travels encrypted; the phpList manual recommends this as well. Open the address in a browser once. A short text output about sending is correct, for example "Finished, Nothing to do" when the queue is currently empty.
https://your-domain.com/lists/admin/?page=processqueue&secret=YOURSECRET
-
Create an account at Cronjob.de
Registration takes a minute and is free. Five cronjobs stay free forever, the first 14 days run on the Unlimited plan.
Start for free 14 days of Unlimited included, no payment details
-
Create a cronjob with that address
Paste the address and choose every five minutes. That is the interval shown in the example in the phpList manual. More often gains little, see the question about the lock below.
*/5 * * * *
You can enter this expression at Cronjob.de exactly as it is – the schedule field understands crontab notation. But you do not have to know it: simply click the schedule together instead.
-
Switch on error notifications
Enter an email address under Notifications. A send that has stalled otherwise only surfaces once the campaign should long have gone out. Failure notifications by email are included from the Plus plan, and free during the first 14 days.
What the five fields of an expression like */5 * * * * mean is explained in the crontab reference – with examples and the most common pitfalls. You can build the expression in the crontab generator. Whether you need an outside service at all is shown in the comparison of the three ways.
Verification
Is it actually running?
Create a test campaign to a list containing a single address. It should go out on the next call. Inside phpList you see the progress under "Campaigns" for the campaign in question. From Plus, the Cronjob.de call log also shows the output of each run, such as "Finished, All done" or the note that not all messages have been sent yet.
FAQ
Common questions about phpList
- How often should the phpList cronjob run?
- The phpList manual shows every five minutes for the queue and once a day for bounces as an example. Five minutes suits most lists. How many emails go out per pass is controlled by batch processing, not by the interval.
- What happens if a call arrives while the previous one is still running?
- Nothing bad. According to the manual, phpList detects it and stops the second run. That way only one sending process is ever active, and the configured sending limits are kept.
- Does the send get cut short when the call ends?
- No. According to the manual, phpList only processes the queue for about one minute per call by address anyway, and continues on the next call. Our call waits 45 seconds (free) or 60 seconds (Plus and Unlimited). Choose the batch size so that one pass fits into that time.
- I get "Error: Incorrect processing secret".
- Then the value in the address does not match the saved secret. Check Config → Settings → Security. Characters such as &, + or spaces cause trouble in an address; the simplest choice is letters and digits only. If you see the login page instead, the
secretparameter is missing or the path is wrong. Many installations keep phpList under/lists/. - Can I have bounces fetched by address too?
- The manual only describes remote processing for the queue. In the phpList source code, however, the secret is also accepted for
page=processbounces. If you use it, create a separate cronjob; once a day is enough according to the example in the manual.
Cronjob.de
in the user agent. Ask your host for an exception for it; that is more reliable than allowing IP addresses, because ours can change. Addresses and details in the FAQ.
Other errors such as 401, 404 or 500 are explained in the troubleshooting guide.
Create your cronjob now
Create an account, enter the address, click the schedule. Five cronjobs are free forever, the first 14 days run on the Unlimited plan.
Start for free See pricingMore guides
- Webspace
- Windows
- WordPress
- Nextcloud
- Contao
- Drupal
- Joomla
- All-Inkl (KAS)
- STRATO
- IONOS
- Matomo
- Dolibarr
- SuperWebMailer
- Firefly III
- Host Europe
- Hetzner Webhosting
- Gambio
- Shopware
- JTL-Shop
- PrestaShop
- Moodle
- WooCommerce
- WP All Import
- Doofinder
- GitHub Actions
Official documentation of phpList
The details about phpList come from their own documentation, as of October 2026. Please check there whether anything has changed since. phpList is a trademark of its respective owner. This guide comes from Cronjob.de and has no business relationship with that provider.
By Joscha Schultze, operator of Cronjob.de · Written with AI assistance, provider details checked against their official pages.