EXO default MaxSendSize & MaxReceiveSize

Iron Contributor

For Company standard messages sizes, you can configure the desired ones on the MailboxPlans.


Connect to EXO in PS and run:


Get-MailboxPlan | fl name



After that, you can use the name, ( the entire name string that you got in the previous output ), to configure the limits. Example:



Set-MailboxPlan ExchangeOnlineEnterprise-23f4bcfd-507d-4cee-a248-eca86cufc7cf -MaxSendSize 30MB -MaxREceiveSize 30MB



In order to check that all is configured correctly, run:



Get-MailboxPlan | fl name,maxsendsize,maxreceivesize,isdefault



The output should like something like this with your desired size limits:



NOTE: From now, any new mailbox will have this limits, but this change doesn't affect current mailboxes.

So, now we'll need to change this defaults for the already existing mailboxes:



Get-Mailbox -Resultsize Unlimited | Set-Mailbox -MaxSendSize 30MB -MaxREceiveSize 30MB



This cmdlt will set the default sizes for all your mailboxes.

If you prefer, you can get a list of mailboxes with sizes over your desired default, with this cmdlt:



Get-Mailbox -ResultSize Unlimited | where {$_.MaxSendSize -gt 30MB} | Select PrimarySmtpAddress | Export-Csv -NoTypeInformation C:\temp\Over30Mb.csv



Then, you can import a csv with those users and modify only those ones, ( 

In this case, I created a CSV with only one column named "User" and listed all the PrimarySmtpAddresses :(



$Users = import-csv "C:\temp\UsersMB.csv" | ForEach-Object { Set-Mailbox $_.User -MaxReceiveSize 30MB -MaxSendSize 30MB  }



In a pure Exchange Online environment you're good to go. ( Remember to check if you have any special connector or external 3rd parties that could also act as a message size limiter ). 


In Exchange On-Prem this settings can be configured with the Cmdlet: Set-TransportConfig.

Find here more info: Message size and recipient limits in Exchange Server | Microsoft Learn

0 Replies