Page 1 of 1

How do I sending in random order

PostPosted: 9:35am, Tue 18 Sep, 2012
by sugarfree
We have a huge list of recep. and sending in a random order is important because receiving servers will not accept mails coming in to fast from the same sender.

To randomize the sending order would be one trick to get around the problem I guess. But how do i accomplish sending in random?

Thanks /Mattias

Re: How do I sending in random order

PostPosted: 8:00pm, Sat 16 Mar, 2013
by whatshisname
Giving this a bump because this is important for me, as well, and for the same reason.

Re: How do I sending in random order

PostPosted: 10:18pm, Mon 09 Mar, 2015
by javerleo
Bump

This is a key feature. Looking further for instuctions to randomize order.

Re: How do I sending in random order

PostPosted: 6:36am, Tue 10 Mar, 2015
by duncanc
phplist doesn't provide a way to alter the order of sending emails.

You can look at domain throttling, see the config.php file, if you want to restrict the rate at which phplist sends to each domain, but in my experience it slows down the actual send rate significantly.

Re: How do I sending in random order

PostPosted: 3:03pm, Tue 10 Mar, 2015
by javerleo
Thanks for you reply Duncan.

I understand that phpList doesn't include that feature. Could you guide me to the scripts that contain the sending logic? Some developer guide? I have some PHP progamming knowledge, so I will try to make the modification to shuffle the batch to deliver on each run.

Regards.

Re: How do I sending in random order

PostPosted: 5:25pm, Tue 10 Mar, 2015
by duncanc
The sql that selects subscribes is in the file admin/actions/processqueue.php at line 795.

Re: How do I sending in random order

PostPosted: 10:32am, Tue 28 Apr, 2015
by billygk
Thanks to duncanc, this is how I did it.

in file admin/actions/processqueue.php
around line 860
added order by rand()


Original
Code: Select all
    if ($num_per_batch > 0) {
      $query .= sprintf(' limit 0,%d',$num_per_batch);


Change to
Code: Select all
    if ($num_per_batch > 0) {
        $query .= sprintf(' order by rand() limit 0,%d',$num_per_batch);



Hope it helps someone @ some point