Troubleshooting Campaign Sending Limits
When working with campaigns in Sugar®, you may find that your email service provider limits the number of messages that can be sent over a given period of time. This is known as message throttling. When message throttling is imposed by your email service provider, it is important to respect those restrictions. This article will cover how to troubleshoot campaign sending limits.
If you are sending campaign emails via Google email, please also refer to the Troubleshooting Sending Limits With Gmail article. For more assistance with campaign emails failing to send, refer to the Troubleshooting Campaigns Failing to Send From Email Queue article.
Beginning with version 9.1.0, each user's license type (e.g. Sugar Serve) determines what functionality is available as described in the License Types Matrix documentation. The Campaigns module covered in this article is not available for Sugar Serve users.
You must be an administrator or have developer-level role access to make the necessary changes in the Admin panel.
Important Campaign Settings
There are two settings in Sugar which will allow you to control the flow rate of outgoing campaign emails:
- Interval of scheduler : Campaign emails are typically sent from SugarCRM in a background process initiated by cron or Windows Scheduled Tasks. The background process executes any pending schedulers. Schedulers are Sugar records that define actions that should be taken at predefined intervals. Schedulers can be viewed under Admin > Schedulers. The scheduler responsible for sending campaign emails is, by default, labeled "Run Nightly Mass Email Campaigns". The default scheduler is configured to run every hour, on the hour, from 2 AM to 6 AM every morning.
- Number of emails sent per batch : This is the maximum number of emails Sugar will send per interval. This setting can be viewed and altered at Admin > Campaign Email Settings. By default, this value is set to 500.
Changing Campaign Settings
Consider a scenario where a campaign has been setup and queued for 2000 recipients and Sugar is operating with the default flow control settings. Sugar will process the emails as follows:
- At 2 AM (when activated by cron), Sugar will kick off the "Run Nightly Mass Email Campaigns" scheduler. The scheduler will see the 2000 pending emails, pull out a batch of 500 emails, and begin processing each email one by one. It should take only a few minutes to process this batch but total processing time will depend on the size of the email message and the responsiveness of the outbound email server.
- At 3 AM, 4 AM, and 5 AM, Sugar will repeat the above process, 500 emails at a time.
- At 6 AM, Sugar will not find any emails to send.
The next morning, when you navigate to Admin > Email Queue, you find there are several emails still in the queue with "Send Attempts" and "In Process" checked. After contacting your email service provider, you learn that the system accepts a maximum of 100 emails every 30 minutes. With this information in hand, you adjust your instance campaign settings as follows:
- Navigate to Admin > Campaign Email Settings.
- Set the value for "Number of emails sent per batch" to 100 and click "Save".
- Navigate to Admin > Scheduler > Run Nightly Mass Email Campaigns.
- Edit this scheduler and change the Interval minute field to "*/30". This indicates that the job should be run every 30 minutes within the 2-6 AM range.
- Click "Save" to finalize.
That night SugarCRM processes the pending emails as follows:
- At 2 AM, Sugar will kick off the "Run Nightly Mass Email Campaigns" scheduler. The scheduler will see the pending emails, pull out a batch of 100 emails, and begin processing each email one by one.
- At 2:30 AM, Sugar will repeat the above process for the next 100 emails.
- Then at 3 AM, Sugar will repeat the above process for the next 100 emails.
This process will continue at 30 minute intervals until 6 AM. The next morning, you should find that all emails have been processed successfully.