Every organisation running Exchange Online eventually runs into the same conversation: a user is complaining they can’t send mail, or finance is asking why storage costs keep creeping up. At the centre of all three conversations is one underappreciated setting, the mailbox storage quota.
Storage quotas are one of those “set it and forget it” features that most admins never touch until something breaks. But when you need to change them, you quickly discover that Exchange Online doesn’t make this easy from the admin center. This post walks through why quotas matter and how Exchange Online’s quota system works.
What are Mailbox Storage Quotas in Exchange Online?
Mailbox storage quotas define how much data a mailbox can store before Exchange Online starts restricting its functionality. Instead of allowing a mailbox to grow indefinitely, Exchange Online uses three configurable quota thresholds.
Issue Warning Quota – The user receives warning messages that the mailbox is approaching its limit. Mail flow continues normally.
Prohibit Send Quota – Users can no longer send new emails but can continue receiving emails.
Prohibit Send and Receive Quota – The mailbox is effectively full. Users cannot send or receive emails until storage is reduced.
These thresholds help administrators prevent unexpected service interruptions while giving users time to clean up their mailboxes.
Default Mailbox Sizes in Exchange Online
Mailbox size isn’t determined solely by quota settings; it also depends on the Microsoft 365 license assigned to the user. Microsoft has also begun increasing mailbox storage for several Microsoft 365 Business plans from 50 GB to 100 GB as part of its 2026 packaging updates, giving organisations more mailbox capacity without requiring a license upgrade.
| License | Default Mailbox Size |
|---|---|
| Exchange Online Plan 1 | 50 GB |
| Microsoft 365 Business Basic | 100 GB |
| Microsoft 365 Business Standard | 100 GB |
| Microsoft 365 Business Premium | 100 GB |
| Exchange Online Plan 2 | 100 GB |
| Microsoft 365 E3/E5 | 100 GB (with archive mailbox support) |
Microsoft is rolling out a mailbox capacity increase for Microsoft 365 Business Basic, Business Standard, and Business Premium customers. Existing tenants will receive the updated mailbox size as the packaging changes become available in their tenant.
When Should You Customize Mailbox Quotas?
Most organisations leave mailbox quotas at their default values, but custom quotas can be useful in several situations. For example, you may want to:
- Limit shared mailboxes that don’t require large amounts of storage.
- Restrict temporary or contractor accounts.
- Apply department-specific storage policies.
- Prevent archive or service mailboxes from growing excessively.
- Test storage policies before applying them across the organisation.
How Mailbox Storage Quota Works in Exchange Online
Here’s the part that trips up a lot of admins: by default, individual mailboxes don’t have their own quota values set at all. Instead, they inherit quota settings from the organisation-wide defaults, controlled by a property called UseDatabaseQuotaDefaults.
When UseDatabaseQuotaDefaults is $true (the default), the mailbox uses whatever the tenant-wide default quotas are, regardless of what values might be sitting in the mailbox’s own IssueWarningQuota, ProhibitSendQuota, or ProhibitSendReceiveQuota properties.
To apply a custom quota to a specific mailbox, you must explicitly set UseDatabaseQuotaDefaults to $false and specify the three quota values yourself.
To revert a mailbox back to the organisational default, you simply flip UseDatabaseQuotaDefaults back to $true, you don’t need to clear the individual values.
How to Set Mailbox Storage Quotas in Exchange Online Using PowerShell
Use the following command to assign and verify custom quota limits.
Set a custom quota for a single mailbox:
Set-Mailbox -Identity "user@contoso.com" -IssueWarningQuota 18GB -ProhibitSendQuota 19GB -ProhibitSendReceiveQuota 20GB -UseDatabaseQuotaDefaults $false Verify the current mailbox quota settings:
Get-Mailbox "user@contoso.com" | Select IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, UseDatabaseQuotaDefaults Apply the same quota to all mailboxes:
Get-User | Where-Object {$_.Department -eq "Sales"} | Get-Mailbox | Set-Mailbox -IssueWarningQuota 18GB -ProhibitSendQuota 19GB -ProhibitSendReceiveQuota 20GB -UseDatabaseQuotaDefaults $false Note: Don’t forget to replace the sample username and department name with the appropriate values before running the command.
Important Considerations
Before changing mailbox quotas, keep these points in mind:
- Mailbox quotas cannot exceed the maximum storage allowed by the user’s Microsoft 365 license.
- Shared mailboxes also support custom quota settings.
- Users may not see quota changes immediately, as Exchange Online can take some time to apply updates.
- Increasing mailbox quotas doesn’t always solve storage problems. Encourage users to archive or delete unnecessary emails when appropriate.
For organisations that frequently manage Exchange Online mailboxes, performing these tasks entirely through PowerShell can become time-consuming.
By understanding how quota inheritance and custom limits work, administrators can better control mailbox growth and avoid unnecessary disruptions.