How to fix too many subscribers in queue

Three problems:

  1. Incomplete sending on first try, although tests worked fine
  2. On requeueing the recipient list has doubled. Why? If I press the process again, will it send email to the same people?
  3. Bounces aren’t recorded, I just set a rule to bounce once and delte, but bounces aren’t recorded.

I am non-techie and this is my first campaign and exposure to phpList.
Chrome 52.02743.11m
PHP 5.3.29 is the system default (but can change)
PHPList 3.2.5
Windows 10
Added to config.php as a requirement from ISP.

> /*# Send a batch of 360 messages per batch period:
> define("MAILQUEUE_BATCH_SIZE",360);
> # batch period is set to 3600 seconds (=1 hour):
> define("MAILQUEUE_BATCH_PERIOD",3600);
> # Pause between messages (in seconds) to avoid overloading the server:
> define('MAILQUEUE_THROTTLE',1); 

Question: Do I need a cron job with the above batch-processing code?
Could the cron job be interfering with the processing as specified in the config file?
My ISP had set up a cron job for me, too.

/usr/local/bin/php -q /home/XXXXXX/public_html/admin/index.php -pprocessqueue -c/home/XXXXXXX/public_html/config/config.php >/dev/null

I deleted the cron job because the campaign took 12 hours to send only 700 or so emails of the 5,975 subscribers on my list. I left the processing window open overnight.

Question: I have two admin identities does this make any difference? The cron job references admin, however, I sent the campaign using a different named administrator ID.

I tried again this morning after removing the cron job and 1208 have been sent, but I got 141 undeliverable sent to my list manager email address, and zero record of bounces.

I think it may have timed out, so I paused the processing. I understand that requeueing won’t send duplicates, but as my list has doubled I can’t risk annoying subscribers. Please suggest a way to help this newbie.

@bbookghost You should process the queue with a cron job or through the browser but not try to do both. If you do both, which looks to be the case, then they will interfere with each other and slow the overall sending rate.
The cron job is going to be more reliable for large lists.

You can remove the menu item to process the queue by this setting in config.php

# If you set up your system to send the message automatically (from commandline),
# you can set this value to 0, so "Process Queue" will disappear from the site
# this will also stop users from loading the page on the web frontend, so you will
# have to make sure that you run the queue from the commandline
# check README.commandline how to do this

Also, change the cron command to capture its output, otherwise you don’t know whether anything went wrong



>/home/xxx/processqueue.log 2>&1
1 Like

@duncanc Thank you! I made the changes to the command line. Glad I did. Got this error.

Could not open input file: /home/XXX/public_html/admin/index.php

Yet there is an index.php in the admin folder. I deleted this “double entry” campaign and about to set up another test.

@bbookghost Is phplist installed in the root of your web site or in the lists subdirectory? The cron command assumes the former.

This is how I access the phpList and there is a PHPMailer folder there.

On the server there is public_html/phplist/admin

@bbookghost That doesn’t make sense to me.
If phplist is in the directory /home/yoursite/public_html/phplist/admin then you would access it as

Unless it is secret, what is the actual URL?


One other thing, I changed define('MANUALLY_PROCESS_QUEUE', 1);
from 1 to 0 in my config.php but I still see the process queue button. Is this because I’m doing a test? Thanks.

@bbookghost Your cron command is clearly incorrect, you might want to ask your hosting company why they did that, or you can correct it yourself. It needs to have the correct path to phplist

/usr/local/bin/php /home/XXXXXX/public_html/phplist/admin/index.php -pprocessqueue -c/home/XXXXXXX/public_html/phplist/config/config.php

@duncanc Yet when I have gone through the longon screen, I see this path:

I changed the cron job as you say. I’m not confident of the tech support at my ISP.

The big change is /public_html/admin/ is changed to /public_html/phplist/admin/ which matches the first part of the string.

Hi bbookghost,

There are default settings for where phplist expects the software to be. The default is in the root of your website, then /lists

it looks like you changed the the installed directory to /mails

Therefore, in your config.php file you need to tell the phpList of the change:

# if you change the path to the PHPlist system, make the change here as well
# path should be relative to the root directory of your webserver (document root)
# you cannot actually change the "admin", but you can change the "lists"
$pageroot = '/mails';

Then, all of your other setting need to match that…
your cron jobs path
all the settings on where the subscribe, update, unsubscribe … under “System” “Settings”, near the bottom of the page.

All of this needs to be ‘lined up’ before the system will work properly

@danwaterloo Thank you. This is confusing. I see these two paths in my file
home/public_html/phplist/config/config.php (this is the config.php I’ve
been modifying)
and I don’t know why I have home/public_html/mails/config/config.php (I
guess I should copy the modified file here)
I just changed to $pageroot = ‘/mails’;

it sounds like. you have two installs, one in phplist and on in mails. i suggest removing one of them (rename the directory), and focus on the one thayt is left. you’re almost there.

Sent from mobile device

Thanks. I just discovered the mails directory and the config file in it controls the admin interface. I checked with the ISP and they confirmed the correct folder is

/usr/local/bin/php /home/XXXXXX/public_html/phplist/admin/index.php -pprocessqueue -c/home/XXXXXXX/public_html/phplist/config/config.php.

Their own “tutorial” had an incorrect path. It was missing the phplist folder. Oh! joy. It’s working!!

glad you got it going. i would suggest keeping just one install. make sure all your settings are consitent between the config.php and the ‘system’, ‘settings’ menu. (and the web url you use to log on to )

thanks to @duncan for all his help, too.

Sent from mobile device

Thanks to @duncan and @danwaterloo