Send more than one campaign at a time ( Same time )


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.

Please help us…

Thank you,

@srihari There is a setting you need to add your config.php file (you might need to look at config_extended to see what it is) to allow parallel processing.

phplist will then divide a batch into smaller sets in order to send some emails from each available campaign.

1 Like

Hi duncan,
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.

Thank you,

The parallel processing works only when batch processing is used - MAILQUEUE_BATCH_SIZE is set greater than 0. Is that the case?

1 Like

yes we have set all these parameters,

as we see in the image, only the bottom one is sending the emails and the top one just says submitted, and the top one starts only if we suspend the bottom one.

could you please check this screen, only one message is in processing and other is in submitted state, but it is not started,

we need to both campaigns, to be in processing state at the same time, like the other one. please let me know the config file settings. we are using phplist version 3.2.4

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.

but that is the meaning of parallel , where the campaigns are sent at the same time.could you please correct me, if i am wrong

actually we are looking to send 250 mails per/hr, to each campaign at the same time ,

for example,if i run 5 campaigns in 1 hr, we need to send out 250 X 5 mails ( 1000 mails/hr )

so that we can send different campaigns to different database list at the same time. please advise how we can setup this in phplist.

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, that 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…

please advise how we can setup this in phplist.

I have explained this to you already. If phplist does not do what you want then you will need to look for another package.

2 posts were split to a new topic: Sending simultaious campaigns and list splitting

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.

1 Like

@Syrsly Thanks for sharing your findings here.

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?