The default Office 365 maximum message size for messages is 35MB. Because the email text is usually small, this setting essentially restricts the maximum attachment size. You can change the maximum message size for an individual mailbox in the Office 365 admin center or with PowerShell.
Latest posts by Michael Pietroforte (see all)

Yesterday, I tried sending a little ZIP file (110MB) with Outlook 2016 from my Office 365 account. After a couple of seconds, Outlook stopped sending, without an error message, and moved my email to the Draft folder. After repeating the procedure, it occurred to me that my little ZIP file exceeded the maximum message size in Office 365.

To find the setting in the Office 365 admin center is not easy and ends in a click orgy. Most guides you find on the web are outdated because Microsoft keeps changing the web interface frequently. Thus, using PowerShell is usually the better option.

Changing message size restriction in the admin center ^

For the sake of completeness, below you'll find the current click path for accessing the message size dialog. After you login, you should arrive at Office 365 Home. Next, stretch your forefinger and start clicking:

Admin > Users > Active Users > Select User > Mail Settings > More Settings > Edit Exchange Properties > Mailbox Features > Message Size Restrictions > View Details > Change Sent and Received

Office 365 Home

Office 365 Home

If Microsoft didn't change the web interface, you should now have the message size restrictions dialog on your screen:

Changing Office 365 message size restrictions

Changing Office 365 message size restrictions

As mentioned above, the default setting is 35MB. The maximum you can set for sent and received messages is 150MB (153600KB). This is not much considering users may want to send videos as an attachment or, as in my case, a couple of PDF files.

Setting the maximum attachment size with PowerShell ^

Don't think that PowerShell gives you more power. Of course, the limits are just the same.

First you have to establish a remote PowerShell connection with Office 365:

$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session

The first command asks you for the credentials that allow access to the user's mailbox. You can check the current mailbox size restrictions settings with the next command:

Get-Mailbox -Identity "" | fl maxsendsize,maxreceivesize
Display Office 365 message size limits

Display Office 365 message size limits

Finally, you can change the maximum receive and maximum send size:

Set-Mailbox -Identity "" -MaxReceiveSize 150MB -MaxSendSize 150MB
Setting Office 365 message size limits for send and receive

Setting Office 365 message size limits for send and receive

Notice that PowerShell won't tell you if the command succeeded. However, if you think your user should be allowed to send or receive bigger attachments, PowerShell will complain:

The operation on mailbox "michael" failed because it's out of the current user's write scope. The value of property 'MaxReceiveSize' cannot exceed the limit of 150 MB.

MaxReceiveSize cannot exceed the limit of 150 MB

Conclusion ^

If you use PowerShell to change the message size limit, you can be sure that the commands above will work in the foreseeable future, and of course, if you must change several mailboxes, you will be faster with a quick script.

Now, before you free yourself or your favorite user from message size restriction, look what "undeliverable message" I received after I finally succeeded at sending my little email:

Your message wasn't delivered to anyone because it's too large. The limit is 35 MB. Your message is 110 MB.

And this what I found in the mail header:

Remote Server returned '550 5.2.11 RESOLVER.RST.SendSizeLimit.Sender; message too large for this sender'

Obviously, the recipient's mailbox suffers from the same limits. Thus, it might make sense to modify the maximum size for receiving emails. That way, external emailsarriving at Office 365 won't be rejected. However, currently, sending messages that are larger than 35 MB probably doesn't make much sense because most mailboxes have similar restrictions. So much for unlimited resources in the cloud.

Notice that if you want to change the default maximum send and receive sizes for new mailboxes, you have to modify your default mailbox plan.

  1. Peter 4 years ago

    Get-mailbox returns "The term 'get-mailbox' is not recognized..."  Is there something else required to make this work?



  2. Dennis 1 year ago


    To add to this, full script to run this across an org:

    $user = Get-Credential
    $session = New-pssession -configurationName Microsoft.Exchange -ConnectionUri -Credential $user -Authentication Basic -AllowRedirection
    import-pssession $session -DisableNameChecking

    $users = get-mailbox -identity * | select-object alias, maxsendsize, maxreceivesize
    foreach ($user in $users) {set-mailbox -identity $user.alias -MaxSendSize "150 MB" -MaxReceiveSize "150 MB"}

    Thank you,

    Dennis Vlasikov


  3. David Drake 6 months ago

    This will work on the full org:

     Get-Mailbox | Set-Mailbox -MaxSendSize "25 MB" -MaxReceiveSize "25MB"


Leave a reply

Please enclose code in pre tags

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


© 4sysops 2006 - 2021


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account