How to Set Email Send Limits

Last modified: July 21, 2022


Overview

WHM allows you to specify the maximum number of emails that each domain on your server can send per hour. This allows you to limit spam and better regulate bandwidth that the domains on your server use.

Important:

After the system reaches a limit, it does not block additional messages at SMTP time. Instead, the system accepts and then handles additional messages per the value of the The percentage of email messages (above the account’s hourly maximum) to queue and retry for delivery. setting in WHM’s Tweak Settings interface (WHM » Home » Server Configuration » Tweak Settings).

Set the default hourly limit for all domains

To set the default hourly email limit for all of your server’s domains, enter a value for the Max hourly emails per domain setting in the Mail section of WHM’s Tweak Settings interface (WHM » Home » Server Configuration » Tweak Settings).

This value defines the default limit for all of the domains on your server, except for domains for which you manually set a different limit.

Important:
  • The Maximum Hourly Email by Domain Relayed setting in the Edit a Package interface will override the Max hourly emails per domain setting.
  • You cannot use the Max hourly emails per domain setting to disable email for an account or domain.
  • The system only enforces email send limits on remote email deliveries.

Set an hourly limit for the domains of an account

To limit the number of emails per hour that an account’s domains can send, perform the following steps:

  1. Navigate to WHM’s Modify an Account interface (WHM » Home » Account Functions » Modify an Account).

  2. Specify a value for the Hourly Email by Domain Relayed configuration setting.

  3. Click Save.

Note:

This option sets the email limits for all of the subdomains, addon domains, and parked domains (aliases) for an account’s main domain. However, the system counts the mail for each domain, subdomain, addon domain, and parked domain separately. When you enter a new limit, the system only applies the new value to the main domain and any domains without individually-defined values.

Set an hourly limit for an individual domain

If you wish for an individual domain to have a different hourly mail limit from the main domain, you can also configure a limit for each domain.

To set a limit for an individual domain, perform the following steps via the command line as the root user:

  1. With a text editor, open the /var/cpanel/users/username file, where username represents the account that owns the domain.

  2. Add a line that contains the following text:

MAX_EMAIL_PER_HOUR-
  1. To that line, append the domain name, an equals sign (=), and the number of email messages to allow the domain to send per hour. For example, if the domain name to set a limit of 500 emails for the domain example.com, enter the following line:
MAX_EMAIL_PER_HOUR-example.com=500
  1. Save the changes to the /var/cpanel/users/username file.

  2. Run the /usr/local/cpanel/scripts/updateuserdomains script. This script constructs the individual threshold files that Exim uses to determine whether the account has reached its maximum email limit.

Note:

The system assigns the value of the MAX_EMAIL_PER_HOUR setting in the /etc/email_send_limits file to any domain without a specific entry in the /var/cpanel/users/username file. If the /etc/email_send_limits file does not exist, the system assigns the default value to the domain.

Additional Documentation