PHPList Email Throttling

PHP Scripts | Updated 2026

PHPList is an open-source email newsletter manager. If your PHPList installation is sending emails too slowly or messages are getting stuck in the queue, you need to adjust the throttling settings to match our server's sending limits.

01. Why PHPList Throttles Emails

PHPList includes built-in throttling to prevent you from overwhelming your mail server or getting your IP blacklisted for sending too many emails too quickly. On shared hosting, this is especially important because the server has per-account limits on outgoing email.

02. Throttling Settings to Adjust

Open your PHPList config/config.php file and look for these settings:

# Seconds to wait between sending each message
define('MAILQUEUE_THROTTLE', 1);

# Number of messages to send per batch
define('MAILQUEUE_BATCH_SIZE', 100);

# Seconds to wait between batches
define('MAILQUEUE_BATCH_PERIOD', 3600);

With these settings, PHPList sends 100 emails per hour with a 1-second pause between each message. This is a safe configuration for shared hosting.

Recommended Settings

For Ultra Web Hosting shared accounts, we recommend: MAILQUEUE_THROTTLE = 1, MAILQUEUE_BATCH_SIZE = 100, MAILQUEUE_BATCH_PERIOD = 3600. This keeps you well within sending limits while maintaining reasonable throughput for newsletters.

03. Ultra Web Hosting Sending Limits

Shared hosting accounts have a limit on the number of outgoing emails per hour. This prevents any single account from being used to send spam and protects the server's IP reputation for all users.

If you need to send to a large mailing list (thousands of subscribers), consider:

  • Breaking sends into smaller batches over multiple hours using the settings above
  • Using a dedicated email marketing service like Mailchimp, SendGrid, or Amazon SES for bulk email. These services are designed for high-volume sending and have much higher throughput than shared hosting.
  • Upgrading to a VPS where sending limits can be adjusted based on your needs

04. Use SMTP for Better Deliverability

By default, PHPList uses PHP's mail() function. For better deliverability, configure PHPList to send via SMTP with authentication. In config.php:

define('PHPMAILERHOST', 'mail.yourdomain.com');
define('PHPMAILERPORT', 465);
define('PHPMAILERSECURE', 'ssl');
define('PHPMAILERUSERNAME', 'newsletter@yourdomain.com');
define('PHPMAILERPASSWORD', 'your-email-password');

Create a dedicated email account in cPanel for your newsletter sending (like newsletter@yourdomain.com) rather than using your personal email.

For more on SMTP configuration and email deliverability, see Understanding Email Authentication.

Need Help With PHPList?

If your newsletter queue is stuck or emails are not delivering, open a ticket with details about your PHPList configuration.

Open a Support Ticket

Quick Recap

  1. Set MAILQUEUE_THROTTLE to 1 second between messages
  2. Set MAILQUEUE_BATCH_SIZE to 100 messages per batch
  3. Set MAILQUEUE_BATCH_PERIOD to 3600 seconds between batches
  4. Configure SMTP instead of PHP mail() for better deliverability
  5. For large lists, consider a dedicated email marketing service

Email newsletter configuration · Last updated March 2026 · Browse all PHP Scripts articles

  • 848 Users Found This Useful

Was this answer helpful?

Related Articles

How to reset the admin password in Drupal

PHP Scripts | Updated 2026 If you are locked out of your Drupal admin panel, you can reset...

Moodle: Notice: Only variable references should be returned by reference

PHP Scripts | Updated 2026 The "Notice: Only variable references should be returned by...

How do I reset Joomla administrator password?

PHP Scripts | Updated 2026 If you have lost your Joomla administrator password and cannot log...

How do I reset Zen Cart administrator password?

PHP Scripts | Updated 2026 If you are locked out of your Zen Cart admin panel, you can reset...

Strict Standards Error in Joomla

PHP Scripts | Updated 2026 Strict Standards errors in Joomla (such as "Strict Standards:...



Save 30% on web hosting - Use coupon code Hosting30