Loading...

Knowledge Base
Up to 75% off on hosting for WordPress websites and online stores

Recommended phpList Settings for Email Delivery

What is phpList?

phpList is an open-source email marketing software that enables users to easily manage mailing lists and distribute newsletters, news, and ads to subscribers. By configuring phpList settings, users can customize the software to meet their specific needs. Written in PHP and utilizing a MySQL database, phpList offers flexibility and powerful features for managing email campaigns.

Here are the topics discussed in this article.


If phpList isn't sending all messages, you may see the error: "Could not instantiate mail function." To address this and optimize your phpList settings, follow the steps below to ensure that phpList is configured correctly.

  1. Locate the config.php file. Access your phpList configuration file by using File Manager or your FTP client. If you installed phpList with defaults from Marketplace, the full path to the file will be /home#/<username>/public_html/list/config/config.php.
  2. Please make a backup at this point.
  3. Locate the Miscellaneous section. Below the Miscellaneous section, you will find the following code:
    # define the amount of emails you want to send per period. If 0, batch processing
    # is disabled
    # [% provinfo.name %] suggest a default of 150 per hour.
    define("MAILQUEUE_BATCH_SIZE",0);
    
    # define the length of one batch processing period, in seconds (3600 is an hour)
    define("MAILQUEUE_BATCH_PERIOD",3600);
    Update the phpList settings with the following suggested values:
    # define the amount of emails you want to send per period. If 0, batch processing
    # is disabled
    # [% provinfo.name %] suggests a default of 150 per hour.
    define("MAILQUEUE_BATCH_SIZE",150);
    
    # define the length of one batch processing period, in seconds (3600 is an hour)
    define("MAILQUEUE_BATCH_PERIOD",3600);
    The above settings will configure phpList to send 150 emails per hour, thus optimizing the mailing process.
  4. Next, go to the Experimental section and look for the following code:
    # Mailqueue autothrottle. This will try to automatically change the delay
    # between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over
    # MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period
    # and then waiting for the next period. This only works with mailqueue_throttle off
    # it still needs tweaking, so send your feedback to mantis.tincan.co.uk if you find
    # any issues with it
    define('MAILQUEUE_AUTOTHROTTLE',0);
  5. Change the MAILQUE_AUTOTHROTTLE to 1 to enable automatic throttling.
    # Mailqueue autothrottle. This will try to automatically change the delay
    # between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over
    # MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period
    # and then waiting for the next period. This only works with mailqueue_throttle off
    # it still needs tweaking, so send your feedback to mantis.tincan.co.uk if you find
    # any issues with it
    define('MAILQUEUE_AUTOTHROTTLE',1);
    Enabling MAILQUEUE_AUTOTHROTTLE improves email distribution, ensuring an efficient and balanced sending process throughout the batch period.

Optimize phpList Performance

Optimizing phpList performance is important to ensure that your email marketing campaigns are fast, efficient, and scalable. Here are some examples and best practices for optimizing phpList performance.

Optimize Database Performance

  • Regular phpList database cleanup: Remove unconfirmed subscriptions, unsubscribed users, and bounces regularly.
  • Optimize the MySQL database: Ensure that your MySQL database tables are indexed correctly.
  • Database caching: Implement caching mechanisms, such as Redis or Memcached, for frequently accessed data.

Improve Email Sending Performance

  • Optimize send speed: Control email send speed to avoid hitting provider limits.
  • Batch sending: Send emails in smaller batches (500-1000) to reduce server load.
  • Use cron jobs: Automate sending campaigns with cron jobs for efficient dispatching.

Optimize phpList Configuration

  • Increase PHP limits: If you are running large campaigns, ensure that your server has sufficient PHP settings. Adjust the php.ini file to increase `max_execution_time,` `memory_limit,` and `post_max_size.`
  • Disable unused features: Turn off features you don’t use to improve processing speed.
  • Enable compression: Use GZIP compression for faster email delivery.

Manage Subscriber List

  • Clean subscriber list regularly: Remove inactive or unsubscribed users to maintain list health. Utilize phpList’s bounce handling and remove invalid addresses from your list.
  • Segment subscriber list: Categorize subscribers into smaller groups based on demographics, behavior, preferences, etc., to send more targeted emails and reduce load on your server.
  • Use customer fields efficiently: Limit custom fields to what’s necessary for campaigns.

Enhance Email Deliverability

  • Set up SPF/DKIM/DMARC records: Configure these DNS records to improve email deliverability. This helps your emails bypass spam filters, improving delivery speed and reducing the likelihood of rejection.
  • Monitor blacklists: Check that your sending IP address isn't listed on blacklists to avoid delivery issues. You'll experience significant delays in email sending and delivery issues if your IP is blacklisted.

Check out the Email Deliverability Best Practices section below to learn more.

Ensure Regular Updates and Security

  • Update phpList: Use the latest stable version for better performance, bug fixes, and security.
  • Plugin Optimization: Only install necessary plugins. Unoptimized or conflicting plugins can slow down the system.

Email Deliverability Best Practices

Here are a few best practices to consider to further enhance email deliverability.

  • Check your SPF records: SPF (Sender Policy Framework) is a DNS record that tells the recipient's email server which servers can send emails to your domain. Many spam filters use the SPF record to determine if a message is spam or should be ignored.
  • Use links sparingly: Links can increase the risk of being flagged by spam filters, particularly shortened links, which spammers use to conceal domains or keywords that might otherwise trigger these filters.
  • Use a simple signature: Make your email signatures simple. Spam filters may flag complex HTML or extra tags. If you use an image, ensure that key information, like your contact details, is in text format. Remember, some email clients, such as Gmail, don't show images by default.
  • Limit email attachments: Keep attachment size and quantity low. Many emails and web communications occur on mobile devices with bandwidth limitations. Outgoing messages can be up to 35MB, but many hosts limit incoming messages to 25MB or less. For large files, consider uploading them to your hosting account and emailing a link instead of attaching them.
  • Limit HTML size: Optimize HTML content in emails by minimizing inline CSS, reducing large images, and utilizing external stylesheets when needed.
  • Be careful with forwarders: Forwarded emails usually get more scrutiny than regular emails. It's best to forward between Bluehost addresses. Forwarding to external addresses can harm your domain's reputation if spam is sent, as the forwarding address may be marked as the source. For Gmail, consider using Gmail POP3, and for other providers, use an email client or webmail instead.

Check out our support guide, Troubleshooting Email Deliverability Issues, if you're having email deliverability issues.


Summary

phpList is a tool for managing mailing lists and distributing news, newsletters, and advertisements to subscribers. Optimizing phpList settings is important for successful email marketing campaigns. Key configurations include adjusting the MAILQUEUE_BATCH_SIZE and enabling MAILQUEUE_AUTOTHROTTLE for balanced delivery. Regular database maintenance and implementation of best practices for email deliverability further improve phpList settings' effectiveness, ensuring efficient and reliable email distribution.

If you need further assistance, feel free to contact us via Chat or Phone:

  • Chat Support - While on our website, you should see a CHAT bubble in the bottom right-hand corner of the page. Click anywhere on the bubble to begin a chat session.
  • Phone Support -
    • US: 888-401-4678
    • International: +1 801-765-9400

You may also refer to our Knowledge Base articles to help answer common questions and guide you through various setup, configuration, and troubleshooting steps.

Did you find this article helpful?

 
* Your feedback is too short

Loading...