How to Enable Unlimited Email Storage on Hosted Exchange (Office 365)
At first glance, Microsoft does not appear to sell unlimited email storage nor do their offerings seem to align with Google’s generous 1TB/unlimited mailbox sizes. In this article, I will show you how to double Hosted Exchange’s email storage (free) and how to enable Hosted Exchange’s unlimited email archiving (requires Plan 2.)
This article uses technical jargon and is intended for IT professionals.
The In-Place Archive is a free 50GB of additional storage, doubling each users’ mailbox size from 50GB to 100GB. It’s already included in your license.
Go to the Exchange Admin Center (EAC) > Recipients > Mailboxes. Highlight your users. In the right menu, click Enable Archive.
The new archive should appear in Outlook Web Access almost immediately. The desktop version of Outlook needs to be restarted. If it doesn’t appear after 24 hours, remove and re-add their account to the desktop version of Outlook.
Moving Data to the In-Place Archive
In order to utilize the In-Place Archive, configure at least one retention policy. To do this, first create the necessary Retention Tags.
Go to EAC > Compliance Management > Retention Tags. Create tags that match your needs.
In the tag above, after 730 days, emails are moved to the archive.
Go to EAC > Compliance Management > Retention Policies. Create your retention policy using the tag you just created.
Back to EAC > Recipients > Mailboxes. Highlight all of the users who will use the new retention policy. In the right menu, scroll down and click Update Retention Policy.
Select your new retention policy, e.g. 2 Year Archive. The change will eventually go into effect. Microsoft uses fuzzy time when it comes to actually applying these changes.
When a mailbox is already full
When I deploy Office 365, I proactively configure In-Place Archiving and Retention Policies. That’s because the archive process is slow.
If you neglected to configure a retention policy, at some future and most inconvenient time, your CEO’s mailbox quota will overflow. Once full, emails cannot be sent or received. Their colleagues will receive bounce backs like this:
If you find yourself reacting to an emergency like this, you can mitigate the issue by manually initiating the archive process.
- It’s still going to take 2–4 hours until enough mail is archived before Outlook works again. For faster results, you may want to consider just upgrading their license to Enterprise E3. (I’ll go over licensing in the next section.)
- Please only force a retention policy on one mailbox at a time. Microsoft claims that running subsequent mailboxes will queue them, but from experience, it just seems to just make everything extremely slow.
Open a powershell window. Paste the following code. This will connect your local powershell to Hosted Exchange.
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
When the credential prompt appears, type in your administrator email address and corresponding Office 365 password.
To start archiving, run the following command. Replace “ceo_alias” with the user’s alias. (Aliases can be found in EAC > Recipients > Mailboxes.)
Start-ManagedFolderAssistant -Identity "ceo_alias"
You can monitor progress by running these commands. Their mailbox should become smaller over time while their archive should become larger. Replace email@example.com with the primary email of your affected user.
Get-MailboxStatistics firstname.lastname@example.org | ft DisplayName, TotalItemSize
Get-MailboxStatistics -archive -erroraction silentlycontinue email@example.com | ft DisplayName, TotalItemSize
Side remark — It would be nice if powershell had the watch command.
If you want to see statistics for the entire organization, just pipe Get-Mailbox.
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | ft DisplayName, TotalItemSize
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics -archive -erroraction silentlycontinue | ft DisplayName, TotalItemSize
When finished, it’s prudent to close your session. (The world won’t come to an end if you forget.)
Remove-PSSession -Session $Session
So far, I have explained how to double your storage space with the least expensive licensing, Exchange Online (Plan 1.) For truly unlimited storage, you must switch to Exchange Online (Plan 2.)
Go to Microsoft 365 admin center > Users > Active Users. Click on a user and edit their product licenses. Toward the bottom, find Exchange Online.
If you do not have Plan 2:
- Replace their entire license with something like Enterprise E3. (Enterprise E3 contains Plan 2.)
- Provision a secondary license for this user, such as Exchange Online Archiving.
Exchange Online (Plan 2) key features:
- User mailboxes are automatically boosted to 100GB capacity.
- Archive mailboxes are automatically boosted to 100GB capacity.
- Archive mailboxes can be set to unlimited through powershell. This is known as an “Auto Expanding Archive.”
To turn on the Auto Expanding Archive for every user, connect to Hosted Exchange through powershell. It will only affect users with Plan 2.
According to Microsoft, it takes 30 days for the storage space to be provisioned if your user has over 90GB of data in their In-Place Archive. (Screenshots from the Microsoft documentation.)
If you are in jam, you can give an additional 10GB of storage to a user’s In-Place archive immediately by redundantly enabling their Auto Expanding Archive.
Enable-Mailbox <user mailbox> -AutoExpandingArchive
For a more thorough explanation, I recommend reading these excerpts from the official documentation.
Microsoft Hosted Exchange absolutely supports unlimited email storage, albeit behind a steep learning curve. Microsoft does little to advertise or promote this feature for obvious reasons.
As always, I’ll do my best to answer any questions in the comments below. Know a simpler, faster, or better way to do any of these steps? Leave a comment, I want to learn from you!
For inquiries, please reach me by email at firstname.lastname@example.org