Exchange Online provides for a fair amount of flexibility; that said, there are a few aspects of the service that cannot be changed. These service restrictions are documented in the Exchange Online Limits for each of the subscription types.
One limitation that you may encounter when migrating to Exchange Online is the “Message Size Limit” of 25 MB. Depending on your current on-premises limit, mailboxes may contain messages that exceed 25 MB; these “large messages” will cause issues during your migration. Your first encounter with large message may be a result of the error “This mailbox exceeded the maximum number of large items that were specified for this request” during a mailbox move.
There are a number of methods to address large messages with each method causing a varied level of impact to your users. After determining that there are large messages in your environment, one of the first questions to answer is what do you want to do with them?
Additionally, the Office 365 Roadmap does indicate that the send/receive limit will eventually be increased from 25 MB to 150 MB in a future update to the service.
The messages can’t be migrated to Exchange Online, so there are a few options:
- Export the large messages to a format such as .MSG, .EML or PST and archive them
- Delete/archive just the large attachment from the message and migrate the remaining message body
- Skip them during the mailbox migration, essentially deleting the messages and their attachments
Since we’re talking about moving, modifying or deleting messages, you will want to take into consideration any email retention requirements in your organization and how your decision may impact mailboxes involved in eDiscovery.
Identify
Before we can do anything with large messages, we need to be able to identify them. This is where you’ll first need to decide how much burden you place on your users to help out with this task.
The most burdensome approach would be to ask your users to “just go search their mailbox” for items over 25 MB. While this might work for some organizations, we can do better.
Next up would be to create a “view” in the user’s mailbox of all their large items using a feature called “Search Folders”. You could provide your users instructions on creating a Search Folder for messages over 25 MB or you can go one step further and create the Search Folder for them using a combination of Exchange Web Services (EWS) and PowerShell. This leaves the user with an easy view to see all of their large messages that need action taken.
Aside from creating a Search Folder in the mailbox, you can report on these large messages using PowerShell, EWS or a combination of the two. Keep in mind that generating a report across the organization can be quite time consuming given you are generating a query for every mailbox.
Take Action
Once we’ve identified large messages, you’ll need to decide what to do with them. Some organizations take the “high user burden approach” and once they’ve shown their users the large items, they leave the action up to user themselves. This could include saving the message locally as an .MSG, .EML or .PDF file, exporting to a PST or something as low-tech as printing the item. You’ll probably find that user compliance is not incredibly high with this approach and you’ll still have a number of large messages remaining in your mailboxes.
Export
Assuming you’re not going to leave the work to your end users, you have some options for retaining the large messages outside of the user’s mailbox. Certainly no one wants to generate more PSTs in their environment but if the large messages need to be retained, this is a viable option.
Depending on your version of Exchange, you can use PowerShell to export the large messages to PST. You could use either “New-MailboxExportRequest” (2010) or “Search-Mailbox” (2013) cmdlets to accomplish this task.
Below are some sample commands you can start with:
New-MailboxExportRequest -Mailbox testuser -ContentFilter {Size -gt 26214400} -FilePath "\\SERVER\D$\Exports\testuser.pst"
Search-Mailbox testuser -SearchQuery "Size>26214400" -TargetMailbox "LargeMessageMailbox" -TargetFolder "Inbox"
If you’re looking for a more complete solution that is already put together, there is a pretty thorough script in the TechNet Script Gallery that does much of the work for you: [PowerShell Script] Office 365 Large Item Compliance v2.1
As an alternative, MessageOps has a “Large Message Exporter Tool” that is no longer supported but may be an option.
Modify
The middle ground between moving the entire message or deleting it would be to remove only the attachment. This is something that might be best left up to the end user to save the attachment off to disk and then delete it from the original email. Be prepared to write some thorough documentation and plan for a lot of hand-holding here as there are a number of steps involved.
It may be possible to automate this process via EWS but the above alternatives are probably better when compared to the effort involved here.
Delete
Perhaps you’ve decided to delete any remaining large messages as users have saved what they needed or you exported the data out for them or you’re just fine with those messages going away. Assuming the user communication has been taken care of, you can proactively delete the large messages via PowerShell or just skip them at the time of migration.
To skip the messages, use the “-LargeItemLimit” and “-AcceptLargeDataLoss” parameters during your migration to skip the large messages.
Summary
- Large Messages may need to be addressed depending on your current message size limits.
- As an organization, you will need to decide where these Large Messages go given that they cannot be migrated.
- Keep in mind any legal eDiscovery or email retention requirements your organization may have.
- The approach you choose will create a varied level of burden upon your end users.
Additional Notes
While the above article refers to the message size limit being set to 25 MB, the value is in fact technically 35 MB. Microsoft considers the “stated limit” as 25 MB and then provides 10 MB of “growth allowance” to provide for the overhead during processing of the message.
You’ll also find a number of references to the “-LargeItemLimit” parameter where it is incorrectly believed to be the size of the large item you’re allowing; this parameter is actually the number of large items you’re willing to skip, not the size of the items.
Did you find this article helpful?
Leave a comment below or follow me on Twitter (@JoePalarchio) for additional posts and information on Office 365.
Looking to do some more reading on Office 365?
Catch up on my past articles here: Joe Palarchio.