Home » Exchange Server » Configuring Max Email Message Size Limits for Office 365

Configuring Max Email Message Size Limits for Office 365

Microsoft has announced that Office 365 (Exchange Online) now supports up to 150MB email messages. This is quite a large increase from the previous limit of 25MB (actually 35MB, I'll explain why shortly) and no doubt will be a welcome change for many customers.

The previous limits were a deployment blocker for some customers that I've worked with who either had a higher limit for their general user population (often more like 50MB) or who had a few specific mailboxes that needed to receive very large emails (often a system-monitored mailbox). While I am generally of the opinion that email is a poor transport mechanism for large files I can understand how the modern era of fast networks, cheap storage capacity, and the convenience of email all come together to create the situation where large email attachments become a requirement.

Before we go any further let me point out that just because you can set a message size limit of 150MB, it doesn't mean you necessarily should. By all means increase the message size limit to suit your business, but don't just crank it right up to 150MB for the sake of it. Consider the impacts this will have on your network bandwidth, client performance, on-premises infrastructure (if you're running a Hybrid configuration), journalling, and the fact that you'll more often than not find that other companies you're emailing support a far smaller message size limit. All of this may actually lead to a poor experience for your users, and an increase in support requests for you.

I suspect the new 150MB limit is not due to Microsoft endorsing the use of email for sending big files. The more likely reason in my view is that it is large enough number to completely silence any customer complaints (and therefore remove the burden of those support calls) about the previous limits.

With that said, let's look at how you can configure the message size limit in Exchange Online.

Comparisons with On-Premises Exchange Server

As many of you already know there are multiple places that message size limits can be applied for an on-premises Exchange Server environment. These include:

  • Organization-wide transport config
  • Send/receive connectors
  • AD site links
  • Individual recipients

As a general rule organizations tend to apply a consistent limit across all of those settings, however the capability is certainly there to customize the configuration to suit nearly any scenario that arises (for example, preventing large email messages from being sent to very large distribution groups).

With Exchange Online we get far less administrative control as the customer than we do for on-premises Exchange. There's no access to send/receive connectors or AD site links. And although we can see the transport configuration (which has unlimited max send/receive limits) we can't make any changes to those settings.

This is why, as Microsoft explained in their announcement, we need to configure the message size limits on a per-mailbox basis.

Using Mailbox Plans to Configure a Default Max Message Size Limit

The settings applied to new mailboxes that we create in Exchange Online come from the mailbox plan. When you connect to Exchange Online with PowerShell you can see the mailbox plans for your tenant.

Notice that one of the plans is the default, and will be applied to new mailbox users when they are created.

Another way to look at this is to group mailboxes by mailbox plan.

Interestingly I seem to have one mailbox there with no mailbox plan. As it turns out that is the discovery search mailbox, so we don't need to worry about that one.

So, let's say that I want to set a send/receive message size limit of 55MB for new mailboxes when they are created. The mailbox plan can be updated with that new setting as follows.

Remember, you'll need to determine the exact name of your mailbox plan when you run that command.

Managing Message Size Limits for Existing Mailboxes

Although I've updated my mailbox plan above, existing mailboxes still have the previous settings applied. A change to the mailbox plan has no impact on existing mailboxes.

To modify a single mailbox we can simply run Set-Mailbox as follows.

If you need to modify all of your mailboxes you can pipe Get-Mailbox into Set-Mailbox as follows.

Naturally that means you can update any subset of your users by filtering the output of Get-Mailbox first. If you're not sure, just run your Get-Mailbox command first and make sure it is only returning the mailboxes you want to modify before you start piping it into Set-Mailbox.

Message Size Limits != Attachment Size Limits

As always you need to be aware that this setting controls the maximum message size, not the maximum attachment size. An email message is bigger than just the files that are attached to it, thanks to the message content itself as well as other data that is piled on. Or as Microsoft describes it, “overhead needed for encoding, encapsulation, compression and decompression of larger messages.”

This is why the previous Exchange Online message size limit of 25MB was actually implemented as a 35MB limit. 25MB was advertised on the Exchange Online service description, but the extra 10MB of growth allowance was added for growth allowance.

office-365-message-size-limits

In your career as an email administrator you'll have many conversations with an end users about this. Just remember to include that growth allowance when configuring the maximum message size, because whatever you tell your users will inevitably be interpreted by them as the maximum attachment size.

Additional Notes

Microsoft limits our administrative control in Exchange Online in many interesting ways. For example, we can use Set-MailboxPlan to modify the max send/receive message sizes, but many of the other mailbox plan settings can't be modified.

Also, Microsoft limits the values that we can set for max send/receive message size. For example, if I try to set the limit to 200MB I get this error.

Not particularly relevant, I just find it interesting. Mailbox plans are very useful, I would like to see them come to on-premises Exchange Server in future, as I know many customers who have had to write extensive custom scripts to handle customizations to the default settings of mailboxes when they are being provisioned, and maintaining them over the life of the mailbox.

Summary

Microsoft has listened to their Office 365 customers and increased the message size limits in Exchange Online. As you can see configuring the new settings is quite simple both for existing mailboxes and for those configured in future. However, I do recommend you proceed with caution and avoid causing more problems than you solve by increasing the limit too much for your environment.

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server

18 comments

  1. John Wilkinson says:

    You’ve not addressed the ability to manage the size limits when sending to distribution groups.
    The ‘Limit sending messages to large distribution group’ value is 5,000.
    The ‘Maximum message size for large distribution groups’ value is 2mb.
    That’s a potential 10gb delivery loading from just one email. So, how do we reduce this limit ?

  2. Mark Minasi says:

    Paul, this piece was spot-on! As an O365 guy who’s never been an Exchange black belt AND someone with Business Essentials, which lacks an awful lot of things Exchange admin-wise, I started playing around to see if I could do this sort of thing in Exchange Online with PowerShell. I’d figured out how to make the limits larger on particular accounts, but it didn’t work because I didn’t know about mailbox plans… so thanks!

    One note that your readers might know and I only found out by experimentation: if you make a change to YOUR message sizes, kill Outlook and restart it to try the new sizes out, or it’ll block you. It seems to read max send/receive size once upon startup and then not again in the session. (And of course you probably know that Outlook doesn’t really shut down, so a “kill -name Outlook” is needed to see the changes. Thanks again!

  3. Tabitha says:

    Is there any way to change the attachment size limit? I’m able to change the message size just fine (thanks for the PowerShell wisdom!) but my user is trying to send multiple attachments which reach over the 35 MB limit.

  4. Francisco Batista says:

    Hi Paul,

    First of all thank you for one more great article.

    One question related with office 365 Inbound connectors and message size limit. I have na Inbound Connector configured like shown below to allow mail relay, is it possible to define a message size limit for relayed messages?

    PS C:Usersfbatista> Get-InboundConnector * | Format-List

    RunspaceId : b8ad4e43-ea55-4f4e-b859-fea4ea460d56
    Enabled : True
    ConnectorType : OnPremises
    ConnectorSource : AdminUI
    Comment :
    SenderIPAddresses : {89.154.13.83, 195.23.154.183, 85.88.137.146}
    SenderDomains : {smtp:*;1}
    AssociatedAcceptedDomains : {}
    RequireTls : False
    RestrictDomainsToIPAddresses : True
    RestrictDomainsToCertificate : False
    CloudServicesMailEnabled : False
    TreatMessagesAsInternal : False
    TlsSenderCertificateName :
    AdminDisplayName :
    ExchangeVersion : 0.1 (8.0.535.0)
    Name : SMTP_relay
    DistinguishedName : CN=SMTP_relay,CN=Transport Settings,CN=Configuration,CN=Lusomedicamenta.onmicrosoft.com,
    CN=ConfigurationUnits,DC=EURPR01A002,DC=prod,DC=outlook,DC=com
    Identity : SMTP_relay
    Guid : e813dcc6-932b-4e3e-a8da-3a01677f5566
    ObjectCategory : EURPR01A002.prod.outlook.com/Configuration/Schema/ms-Exch-SMTP-Inbound-Connector
    ObjectClass : {top, msExchSMTPInboundConnector}
    WhenChanged : 15-01-2016 16:34:00
    WhenCreated : 16-01-2015 18:50:04
    WhenChangedUTC : 15-01-2016 16:34:00
    WhenCreatedUTC : 16-01-2015 18:50:04
    OrganizationId : EURPR01A002.prod.outlook.com/Microsoft Exchange Hosted
    Organizations/Lusomedicamenta.onmicrosoft.com – EURPR01A002.prod.outlook.com/Configurati
    onUnits/Lusomedicamenta.onmicrosoft.com/Configuration
    Id : SMTP_relay
    OriginatingServer : AMSPR01A002DC03.EURPR01A002.prod.outlook.com
    IsValid : True
    ObjectState : Unchanged

    Thanks in advance

    Best regards

  5. Cody says:

    This is very informative. I have not been able to find an answer to a related mailbox size question and am hoping to get some clarity. We want to migrate our users to Exchange Online. What happens if the size of a mailbox from the user happens to be greater than what EOL allows? Is this not possible?

    Thank you

  6. SauraJyoti says:

    Sir,
    One of the user is facing issues with receiving emails. I checked the mailbox properties and could see that MaxSendSize and MaxReceiveSize is 0bytes. It should be 10MB. I tried the below command but getting errors. Saw few other articles that said to change using adsiedit. But wanted to be sure before making any change. Please help.

    [PS] C:\Get-RemoteMailbox user | Set-Mailbox -MaxSendSize 10MB -MaxReceiveSize 10MB
    The pipeline was not run because a pipeline is already running. Pipelines cannot be run concurrently.
    + CategoryInfo : OperationStopped: (Microsoft.Power…tHelperRunspace:ExecutionCmdletHelperRunspace) [],
    PSInvalidOperationException
    + FullyQualifiedErrorId : RemotePipelineExecutionFailed

    Regards,
    SJ

  7. Lon Vetula says:

    I got the following error when I tried the change all mailboxes command you gave. reQuire is the name of the company. Any ideas?

    The operation couldn’t be performed because ‘reQuire’ matches multiple entries.
    + CategoryInfo : NotSpecified: (:) [Set-Mailbox], ManagementObjectAmbiguousException
    + FullyQualifiedErrorId : [Server=DM2PR02MB479,RequestId=341e0927-f0ba-483b-987b-0aefdc6c338a,TimeStamp=3/24/2017
    8:35:40 PM] [FailureCategory=Cmdlet-ManagementObjectAmbiguousException] 14A33151,Microsoft.Exchange.Management.Rec
    ipientTasks.SetMailbox
    + PSComputerName : outlook.office365.com

    • Lon Vetula says:

      Cancel that… it worked on all mailboxes and that was just an error for one mailbox. Thanks for the article!

  8. Mike says:

    Is there anyway to limit the amount of email a user can send per hour or per day? The defaults are too high for us. E1 or E3

  9. AtlasDan says:

    Paul, I have 20 mailboxes that are not part of a mailbox plan. How can I get a list of these 20 mailboxes? Thanks for the great article!

Leave a Reply

Your email address will not be published. Required fields are marked *