Skip to Content

how to throttle phplist down to 450 messages an hour

 

SOme website hosts have an  email policy where shared and reseller customers should only sending out a maximum number of  emails per hour. 

This article contains specific instructions on how you can tweak the mailing list program, PHPList, to abide by the a shared hosts emailing list policy and send under 500 emails per hour.

How to throttle PHPList:

  1. The first step is to locate the configuration file for your phplist installation. If you have installed the script on your domain in a location such as http://www.domain.com/list/, then the physical path will be:

    /home/username/public_html/list/config/config.php

    In FTP you could see:

    /public_html/list/config/config.php

  2. Download this file to your local PC or edit the file with your file manager in cPanel. If you download this file to your PC, you should use a program such as notepad or wordpad.
  3. Locate the section of code in this file called "batch processing".
  4. Just below "batch processing", you will see some code as in the following example:

    Code:

    # define the amount of emails you want to send per period. If 0, batch processing
    # is disabled and messages are sent out as fast as possible
    define("MAILQUEUE_BATCH_SIZE",0);

    # define the length of one batch processing period, in seconds (3600 is an hour)
    define("MAILQUEUE_BATCH_PERIOD",3600);

    # to avoid overloading the server that sends your email, you can add a little delay
    # between messages that will spread the load of sending
    # you will need to find a good value for your own server
    # value is in seconds (or you can play with the autothrottle below)
    define('MAILQUEUE_THROTTLE',0);

  • These are the default settings. We will be replacing those to keep the mails under 500/hour.
  •  

  • change it to:

    Code:

    # define the amount of emails you want to send per period. If 0, batch processing
    # is disabled and messages are sent out as fast as possible
    define("MAILQUEUE_BATCH_SIZE",0);

    # define the length of one batch processing period, in seconds (3600 is an hour)
    define("MAILQUEUE_BATCH_PERIOD",3600);

    # to avoid overloading the server that sends your email, you can add a little delay
    # between messages that will spread the load of sending
    # you will need to find a good value for your own server
    # value is in seconds (or you can play with the autothrottle below)
    define('MAILQUEUE_THROTTLE',8);

  •  
  •  
  •  

    These settings allows PHPList to throttle 450 mails per hour, exactly as their TOS suggests. The remaining 50 emails per domain remain available for normal mailing operations.

  • Save the file and, if downloaded, FTP it back to it's original location. Please, remember to take a backup of the original file just in case you mess up.
  • Now you should be able to send mails without any bounces and not overloading the mailserver.