Mailbox Size and Quota

Managing Mailbox Size and Quota on Exchange Server 2016


One of the important tasks of an Exchange administrator is controlling mailbox sizes. It is very difficult to force users to voluntarily limit the size of their mailbox, so you have to use mail server quotas. Typically, mailbox quotas in Exchange Server are defined at the database level and apply to all mailboxes that are stored in this database. This is very convenient, since you know for sure that in a particular database all the boxes have the same data retention policy.

You can view the quota settings for the lonDB1 database with the command:

Get-MailboxDatabase -Identity lonDB1 | fl *quota

Mailbox Size and Quota on Exchange Server 2016

As you can see, the mailbox has three levels of size restrictions:

  • IssueWarningQuota—if the mailbox size is equal to or greater than the specified value, a warning is sent to the user of this mailbox;
  • ProhibitSendQuota—if the mailbox size reaches the specified value or exceeds it, the mailbox user on the Exchange server won’t be allowed to send new emails, and an error message will be displayed;
  • ProhibitSendReceiveQuota—if this value is exceeded, the user won’t be allowed to send new emails, and no more messages will be delivered to this mailbox. Messages sent to this mailbox will be returned to the sender with an appropriate error message (NDR).

By default, quotas for a new mailbox database are not set. To change database quotas, you can run the following command:

Set-MailboxDatabase -Identity lonDB1 -IssueWarningQuota 1.8GB -ProhibitSendQuota 2GB -ProhibitSendReceiveQuota 2.3GB

Mailbox Size and Quota on Exchange

You can also configure mailbox quotas from the Exchange admin center (EAC) web interface. To do this, go to the section Servers > Databases > select the required database > Properties > set the necessary quotas on the Limits tab.

Manage Mailbox Size and Quota on Exchange

Database restrictions apply to all mailboxes that are in this database. But the standard quota values are not suitable for everyone, so the Exchange administrator periodically has to change the quota settings for the individual users. To change quota setting for the user jsmith use the following command:

Set-Mailbox -Identity jsmith -IssueWarningQuota 15GB -ProhibitSendQuota 18GB -ProhibitSendReceiveQuota 20GB -UseDatabaseQuotaDafaults $false

Managing Mailbox Size and Quota on Exchange

To display the current quota settings for the mailbox, run:

Get-Mailbox -Identity jsmith  | fl IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota,UseDatabaseQuotaDafaults

Mailbox quota settings can also be changed from EAC (Recipients > Mailboxes > Properties > Mailbox usage > Customize the quota settings for this mailbox).

Managing Mailbox Size and Quota

Please note that in Exchange itself there are no technical restrictions on the size of the box. For Outlook, the size of the mailbox is limited to the maximum size of the data file and is 50GB by default, but you can change this value if necessary (see the article).

In order not to get confused in quotas on the mailboxes specified manually, it is recommended to use several databases with different quotas and, if necessary, to increase the user mailbox, simply migrate it to another database with large quotas.

Changing the quota per mailbox in Exchange 2016 is not immediately applied. You need to wait 2-3 hours or execute the Update-StoreMailboxState [UserName] command.

Also note that mailbox quotas are treated differently in Exchange Server 2013/2016 and Exchange Server 2010. In 2016, the quota includes all service information and deleted items, and in 2010 only the user information.

Periodically, it is necessary to perform an analysis of mailbox sizes: either simply to control the use of resources, or to revise the quota policy, or when preparing for the migration to a new system.

To analyze the current mailbox sizes in Exchange Server 2016, you can use the following PowerShell script:

$MBXs=Get-MailBox -ResultSize Unlimited | % { Get-MailboxStatistics $_.Identity} | Select  DisplayName,TotalItemSize  | Sort-Object -Property TotalItemSize -Descending

$MBXItem=$MBXs | % {«$($_.DisplayName),$($_.TotalItemSize.Value.ToBytes())«}

$MBXItem | Out-File c:\PS\MailboxLimits.csv

The resulting CSV file can be easily imported into Excel and analyzed.

You may also like:

Add An Out Of Office Message In Outlook for A Diff... Did an employee just leave for vacation and forget to do something? Below the instructions will show you how to add an out of office message in Outloo...
How to Recreate Virtual Directories OWA and ECP on... This article describes how to recreate virtual directories OWA and ECP on Exchange 2016. The rebuilding of these virtual directories helps to reset al...
Exchange 550 5.7.1 RESOLVER.RST.AuthRequired; auth... If you are trying to send email from your web server to a distribution group email and it isn't going through, and the Exchange log shows the followin...
Track messages in Exchange 2013 using Get-MessageT... In addition to directly analyzing transport log files, tracking messages in MS Exchange Server 2013 is very easy to carry out with the help of Message...
How to Add or Remove SMTP Alias to Exchange 2016 M... Sometimes you need to add another email address to the existing user. In Exchange, in addition to the primary address, each mailbox can be assigned to...

Add Your Comment