We are using the new version of PHPList 3.2.4 . We are trying to send more than one campaign at a time ( Same time ) . But as we observe, only one campaign is possessing the emails at a time, and the other campaign is staying idle. As per our requirement , we need to run multiple campaigns at the same time, so that we can send different campaigns to different database list at the same time.
we have already set the parallel processing in the config file. But when we start two campaigns at a time, then one campaign sends emails, while other waits until, this campaign is completed, and later sends the email of the other campaign.
Could you please clarify, weather can send emails at the same time, for example , i set two campaigns 1) 1000 emails 2) 500 emails , both start sending the emails for 1 hour, and all the emails are sent. But, when i observer, after 1 hr, only 1000 emails are sent of the 1st campaign or 500 emails are sent of the second.
In your second screenshot, both campaigns have had emails sent, so phplist appears to be sending both campaigns.
Note that it does not literally send both campaigns at the same time. It splits the batch size between the two, so should send half the batch size to the first campaign, then half the batch size to the second campaign.
phplist does not do exactly what you want. See the explanation of this in config_extended.php
# process parallel
# if there are multiple messages in the queue, divide the max batch across them
# instead of sending them one by one.
# this only works if you use batch processing. It will divide the batch between the
# campaigns that need sending.
You can run your cron job more frequently with a smaller batch size. In that way phplist will send small number of emails for each available message. For example, run the cron job every 5 minutes with a proportionately smaller batch size.
Ok…Thanks for your support…But we need a solution for our email marketing…
the main problem is, if we send more than 250 emails/hr to one domain like xyz@ABC.com, that ABC.com company blocking our emails.They allowed only 4 emails for 1 mint.
like this we have other companies…so if we send one campaign to all companies, it taking 4days to complete…
if we can run campaign to to different database list at the same time. it will completed in one day…
Just an update in case anyone is here looking for the same information I was…
You can fairly easily integrate PHPList with Mailgun, Sendgrid, or any of a number of other external emailing services to send tons of emails very quickly. PHPList then acts like an address book and integrates with your site in ways that these external services do not allow. That said, PHPList plugins (most of which were made by duncanc) are designed to send only one email at a time. It will take a lot of work and some major restructuring of the base PHPList code to make it send these emails as a group or array of addresses. Currently, if you use a SMTP relay, you can get out about 15k emails per hour on an ideal server setup using PHPList. Using a combined curl approach with an external service, you can potentially get 100-200k emails sent per hour.
EDIT: I mention this here because a lot of people want to send multiple campaigns at the same time for speed reasons. Emails send slowly, so they can’t afford to wait for one campaign to end to send the next one. If you improve your speed, it becomes less important to send campaigns at the same time.
My understanding is that parallel processing works pretty well for simultaneous campaigns. The only real bottleneck for sending in phpList (as opposed to the SMTP server) is generating messages, but that system is quite fast (at least max 60-70kph per server). If the SMTP accepts the mail quickly then phpList will keep generating mail at max speed. However if the plugin you’re using requires remote SMTP or 3rd party API to accept mail in real time then that will slow things down a lot.
If that’s the problem then how about using a local SMTP which accepts all mail fast from phpList and then dispatches to various 3rd party back ends asynchronously, thus allowing phpList to generate mail at max speed while various sending backends process mail at their own pace without blocking each other?