• Home
  • Topics
    • Office 365
    • Teams
    • SharePoint Online
    • Exchange 2019
    • Exchange 2016
    • Exchange 2013
    • Hybrid
    • Certificates
    • PowerShell
    • Migration
    • Security
    • Azure
  • Blog
  • Podcast
  • Webinars
  • Books
  • About
  • Videos
    • Interview Videos
    • How To Guide Videos
  • Subscribe
    • Facebook
    • Twitter
    • RSS
    • YouTube

Practical 365

You are here: Home / Exchange Server / Configuring Max Email Message Size Limits for Office 365

Configuring Max Email Message Size Limits for Office 365

April 17, 2015 by Paul Cunningham 23 Comments

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.

Table of Contents

  • Comparisons with On-Premises Exchange Server
  • Using Mailbox Plans to Configure a Default Max Message Size Limit
  • Managing Message Size Limits for Existing Mailboxes
  • Message Size Limits != Attachment Size Limits
  • Additional Notes
  • Summary

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.

1
2
3
4
PS C:\Scripts> Get-TransportConfig | fl maxreceivesize,maxsendsize
 
MaxReceiveSize                  : Unlimited
MaxSendSize                     : Unlimited


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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS C:\Scripts> Get-MailboxPlan | fl name,maxsendsize,maxreceivesize,isdefault
 
 
Name           : ExchangeOnlineDeskless-f941c750-22ce-401e-8c1a-9c64bd2cff41
MaxSendSize    : 35 MB (36,700,160 bytes)
MaxReceiveSize : 36 MB (37,748,736 bytes)
IsDefault      : False
 
Name           : ExchangeOnline-39e6f97b-82c8-4b18-9d0a-eb6e24418584
MaxSendSize    : 35 MB (36,700,160 bytes)
MaxReceiveSize : 36 MB (37,748,736 bytes)
IsDefault      : False
 
Name           : ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb
MaxSendSize    : 35 MB (36,700,160 bytes)
MaxReceiveSize : 36 MB (37,748,736 bytes)
IsDefault      : True


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.

1
2
3
4
5
6
PS C:\Scripts> Get-Mailbox | Group-Object -Property:MailboxPlan | Select Name,Count | ft -auto
 
Name                                                          Count
----                                                          -----
ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb    25
                                                                  1


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.

1
2
3
4
5
PS C:\Scripts> get-mailbox | where {$_.mailboxplan -eq $null}
 
Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
DiscoverySearchMailbox... DiscoverySearchMa... sixpr04mb015     50 GB (53,687,091,200 bytes)


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.

1
PS C:\Scripts> Set-MailboxPlan ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb -MaxSendSize 55MB -MaxReceiveSize 55MB


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.

1
2
3
4
5
PS C:\Scripts> Get-Mailbox Alan.Reid | fl mailboxplan,maxsendsize,maxreceivesize
 
MailboxPlan    : ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb
MaxSendSize    : 35 MB (36,700,160 bytes)
MaxReceiveSize : 36 MB (37,748,736 bytes)


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

1
PS C:\Scripts> Set-Mailbox Alan.Reid -MaxReceiveSize 55MB -MaxSendSize 55MB


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

1
PS C:\Scripts> Get-Mailbox -Resultsize Unlimited | Set-Mailbox -MaxReceiveSize 55MB -MaxSendSize 55MB


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.

1
2
3
PS C:\Scripts> Set-MailboxPlan ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb -MaxSendSize 160MB
 
The operation on mailbox "ExchangeOnlineEnterprise-f32821d4-90a3-4c6b-ab75-56f35adb3bfb" failed because it's out of the current user's write scope. The value of property 'MaxSendSize' cannot exceed the limit of 150 MB.


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.

Exchange Server Exchange Online, Message Size Limits, Office 365, Transport

Comments

  1. John Abbott says

    September 16, 2020 at 9:30 pm

    Hi Paul, thanks for the article.
    We have a hybrid Exchange 2013/365 environment while migrating users. An unusual situation, where an onprem mailbox had 1K MaxSendSize, MaxReceive & hidden, due to being on long term leave. That mailbox then migrated to 365 & there it appears to have the default 35MB limits, both in EAC & via a check with Get-Mailbox. However, the user still has 1K limits when trying to use mailbox. Can’t do similar check onprem, as mailbox no longer there.
    Does anyone have advice on checking/resolving this please?
    Thanks John

    Reply
  2. Stephen Michael Robards says

    March 15, 2020 at 8:38 am

    I need to upgrade my office 365 to the highest possible size of email and attachments possible in the middle of my 365 contract.

    Reply
  3. Shan says

    May 2, 2019 at 9:07 pm

    Hi Paul, we have Exchange on premise. I have put 35 MB limit on the transport and connector level and 15 MB limit on all existing mailboxes. However, the 15 MB limit does not apply automatically for any new mailbox that gets created. For O365, we have the default mailbox plan. What is the equivalent for on premise Exchange? Thank you

    Reply
  4. Francis Revere says

    June 7, 2018 at 3:54 am

    Paul,

    I ran a “Get-RemoteMailbox | Sort-Object Name | ft Name,Alias,MaxReceiveSize,MaxSendSize,RecipientLimits” and all my users, including myself, who recently started show all as “Unlimited” except for one user who has MaxReceiveSize set to 20MB. Discovered this after they reported not receiving a large email which 5 other recipients did. Obviously something is wrong here. I do get the exact error you did when trying to change the MaxReceiveSize higher than 150MB. Would post snippet to show, but….

    Reply
    • Paul Cunningham says

      June 7, 2018 at 6:52 am

      Is the user licensed differently than the rest of the users? If not, then I would suggest you open a support case to find out what else is going on.

      Reply
  5. AtlasDan says

    April 18, 2017 at 12:12 am

    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!

    Reply
    • AtlasDan says

      April 18, 2017 at 12:16 am

      Ok, never mind. Speed reading again. I missed the command you listed to find that one mailbox in your org. Thanks!

      Reply
  6. Mike says

    April 13, 2017 at 10:24 pm

    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

    Reply
  7. Lon Vetula says

    March 25, 2017 at 6:47 am

    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

    Reply
    • Lon Vetula says

      March 25, 2017 at 6:52 am

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

      Reply
  8. SauraJyoti says

    March 23, 2017 at 11:46 pm

    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

    Reply
  9. Cody says

    October 29, 2016 at 5:07 am

    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

    Reply
    • Paul Cunningham says

      October 29, 2016 at 8:57 am

      You should reduce the size of any mailbox that doesn’t fit within the size limits of Exchange Online.

      Reply
  10. Omar says

    September 28, 2016 at 11:53 am

    Hi, my name is Omar, I“m live in Mexico City,
    s it is possible to change the limits on the console O365 in a hybrid scheme?

    Reply
    • Paul Cunningham says

      September 28, 2016 at 12:10 pm

      The only way to change it for your Office 365 mailboxes is the method shown in the article above.

      Reply
  11. Francisco Batista says

    June 21, 2016 at 10:49 pm

    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

    Reply
  12. Tabitha says

    December 23, 2015 at 2:38 am

    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.

    Reply
    • Paul Cunningham says

      December 23, 2015 at 8:48 am

      The size limit is enforced on the overall message size, not the size of individual attachments.

      Reply
      • Cesar Leon says

        February 13, 2016 at 12:43 am

        Paul, This is an Excellent Post!! I will echo Mark’s comments as I too was not aware of MailboxPlans!

        Thank you and keep up the great work.

        Cesar

        Reply
  13. Mark Minasi says

    October 10, 2015 at 4:53 am

    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!

    Reply
  14. John Wilkinson says

    August 12, 2015 at 10:05 pm

    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 ?

    Reply
    • Paul Cunningham says

      August 12, 2015 at 10:17 pm

      Those limits are not configurable.

      Are you concerned about bandwidth utilization?

      Reply

Leave a Reply Cancel reply

You have to agree to the comment policy.

Recent Articles

  • Changes in Microsoft 365 Apps Channels and Why You Should Care
  • A New Tool to Manage Exchange-related Attributes Without Exchange Server
  • Microsoft Launches Group Ownership Governance Policy
  • Making the Case for Identity GovernanceĀ in Azure Active Directory
  • Prepare an Office 365 migration plan assessment using PowerShell

Copyright © 2022 Quadrotech Solutions AG · Disclosure · Privacy Policy
Alpenstrasse 15, 6304 Zug, Switzerland