Microsoft 365 Mailbox Size Limitations and Solution
Problem:
EdbMails does not impose any restrictions on mailbox sizes for Office 365 migration. However, Microsoft 365 (Exchange Online), imposes mailbox size limits based on subscription plans and mailbox types.
Solution:
The below sections cover the maximum allowable mailbox sizes in Office 365, procedures for expanding mailbox capacity, methods to monitor current mailbox usage across all accounts, and proactive measures to prevent mailboxes from exceeding their size limits. This information is particularly useful for organizations planning Office 365 Tenant to Tenant migration, Exchange to Office 365 migration, IMAP to Office 365 migration.
Maximum Mailbox Size Limit in Microsoft 365
The maximum mailbox size for most mailboxes in Microsoft 365 is 50 GB. However, there are exceptions:
- User mailboxes can be increased up to 100 GB when assigned a Microsoft 365 E3 or E5 license (Exchange Online Plan 2). An F3 (Kiosk) license offers only 2 GB of storage and does not include archive mailboxes.
- Public folder mailboxes across all subscription plans have a limit of 100 GB.
- Shared mailboxes, which do not require a license, have a standard size limit of 50 GB. When assigned an E3 or E5 license, shared mailboxes can store up to 100 GB of data.
- User and shared mailboxes can expand storage capacity with an archive mailbox (In-Place Archive). Once enabled, each mailbox receives an archive mailbox separately. By default, an archive mailbox has a 50 GB storage limit. With an Exchange Online Plan 2 license or an Exchange Online Plan 1 license with an Exchange Online Archiving add-on, there is an option for nearly unlimited (auto-expanding) archiving space. However, Microsoft has introduced limits for auto-expanding archives: a maximum size of 1.5 TB total and a maximum growth rate of 1 GB per day. Despite these limitations, the allocated space remains substantial, intended for a single user. It is important to note that journaling, transport rules, or auto-forwarding cannot be used for backup or archiving purposes of other mailboxes.
Verify mailbox size in Office 365 Admin center
Follow the steps below to know the mailbox usage of a specific user in Microsoft 365 Exchange admin center.
- Login to Exchange Admin center
- Navigate to ‘Recipients’ > ‘Mailboxes’ from the left pane
- Select the user from the right side pane. You will see the ‘Mailbox usage’ details under the ‘General’ tab.
PowerShell Scripts to check Office 365 Mailbox size
Run the below PowerShell commands (Run As Administrator)
Run the following command to install Exchange Online PowerShell Module if it is not installed
Install-Module -Name ExchangeOnlineManagement
Execute the below command and connect to your Office 365 account using the Global Admin account.
Connect-ExchangeOnline
Run the below command to download the current mailbox data into a variable
$exomailboxsize = (Get-EXOMailbox | Get-EXOMailboxStatistics)
Execute the following command to sort the mailboxes as per the size
$exomailboxsize | select DisplayName, TotalItemSize | sort -Property TotalItemSize -Descending
If any mailboxes are close to reaching their maximum size, follow the methods mentioned in the next section to increase their limits or free up space as needed.
To verify the size of your archive mailboxes, utilize the following commands
$archivemailboxsize = (Get-EXOMailbox -Archive | Get-EXOMailboxStatistics -Archive)
Run the following command to sort the archive mailboxes as per the size
$archivemailboxsize | select DisplayName, TotalItemSize | sort -Property TotalItemSize -Descending
Increase Office 365 Mailbox size limit
There are two methods to increase the maximum mailbox size for a user:
- Assign an Exchange Online Plan 2 license to the mailbox, boosting the storage limit from 50 GB to 100 GB.
- Enable Exchange Online Archiving, which provides either an additional 50 GB of space or nearly unlimited storage with the auto-expanding archiving feature, depending on your Microsoft 365 license.
Simply expanding the maximum quota isn't the only way to create more space in mailboxes. Similar to standard hard drives, you can either upgrade to a larger one or free up existing space. Exchange Online allows you to implement retention policies to automatically retain or delete data based on specified criteria.
Additionally, you can utilize EdbMails Office 365 Backup software to store data locally on your computer or you can export your Office 365 mailbox data to Outlook PST, thereby reducing the amount of data stored in the cloud.
Enable Archive mailboxes
The mailbox archive feature allows you to store an additional 50GB or 100GB of emails in the cloud to keep old emails without deleting them. Higher-tier plans support up to 1.5TB of archive storage per user.
For example, when you fill up 100GB of archive storage, another 100GB is automatically added. You can only use a mailbox archive to store your own emails—you can't archive emails from other users.
Keep in mind, data from your primary mailbox can be stored in both your email client and the cloud, but data from the archive mailbox is stored only in the cloud.
Follow the steps below to enable the Archive mailboxes in Office 365 Exchange admin center
- Login to Exchange Admin center
- Navigate to ‘Recipients’ > ‘Mailboxes’ from the left pane
Choose the user whose archive mailbox you want to enable. In the resulting pane, navigate to the ‘Others’ tab and click ‘Manage mailbox archive’
Then, switch the toggle to ‘Enabled’ and click the ‘Save’ button
PowerShell commands to enable archive mailboxes
Run the below Windows PowerShell commands (Run As Administrator)
Run the following command to install Exchange Online PowerShell Module if it is not installed
Install-Module -Name ExchangeOnlineManagement
Execute the below command and connect to your Office 365 account using the Global Admin account.
Connect-ExchangeOnline
For a single user:
Enable-Mailbox -Identity <user upn=""> -Archive
Replace <user upn=""> with the user's UPN.
For all users:
Get-Mailbox -Filter {ArchiveStatus -Eq "None" -AND RecipientTypeDetails -Eq "UserMailbox"} | Enable-Mailbox -Archive
Note: Use this script to enable archive mailboxes for all user mailboxes. To enable archive mailboxes for shared mailboxes, first assign them a license and then rerun the command, replacing UserMailbox with SharedMailbox.
For specific users:
$users = Import-CSV <filepath>
foreach ($user in $users) {
Enable-Mailbox -Identity $user.UPN -Archive
}
Run each line of code sequentially. Replace with the path to a CSV file containing exported UPNs of the users you wish to enable archive mailboxes for. Ensure the column header in the CSV file listing UPNs is named UPN. Modify the PowerShell command if your column header differs.
Run the below command to disconnect from Exchange Online
Disconnect-ExchangeOnline