In Distribution Groups and maximum recipients per message, we looked at how the maximum recipients per message settings are treated differently by Exchange Server 2010/2007 and Exchange 2003/2000 when sending to Distribution Groups.
Message size limits are an important mechanism to control mailbox sizes, guarantee service availability, and protect from potential DoS attacks. Another commonly asked question is about message size limits and the inability to send messages that are apparently within the maximum sizes configured. Let’s take a look at the message size settings in different places in Exchange 2010 and Exchange 2007.
Organizational limits
The organizational send and receive size limits apply to all Exchange servers in the Organization. The default is 10MB.
You can modify the organizational message size limits using the Set-TransportConfig cmdlet from the Exchange shell:
Set-TransportConfig -MaxReceiveSize 40MB -MaxSendSize 40MB
In Exchange 2007 SP1 and later, you can also set the organizational message size limits using the EMC by going to Organization Configuration | Hub Transport | Global Settings tab | Transport Settings | properties | General tab.
Receive Connector limit
Unlike Exchange SMTP Virtual Servers in Exchange Server 2003/2000, Exchange 2007′s Receive Connectors are only used to receive messages. The maximum message size limit can be different on different Receive Connectors on a Hub Transport or Edge Transport server. For example, a Receive Connector for inbound Internet mail may have lower message size limits, but you may want to allow larger messages on Receive Connector for authenticated senders or partners.
To modify the maximum message size on a Receive Connector using the Exchange console, select Server Configuration | Hub Transport | select a Hub Transport server | Receive Connectors -> select a connector | Properties | General tab.
To set ReceiveConnector limit using the shell:
Set-ReceiveConnector “CONNECTOR NAME” -MaxMessageSize 40Mb
What’s a Unique Binding for a Receive Connector?
Exchange 2010 and Exchange 2007′s definition of a unique binding for a Receive Connector is different than Exchange 2003/2000.
Whereas the latter considers a unique combination of an IP address + TCP port number as a unique binding, and does not allow another SMTP Virtual Server to be bound to the same combination of IP address + port number, Exchange 2010/2007 view a combination of IP address + port number + RemoteIPRanges as unique. This allows you to create a Receive Connector using the same IP address + port number, but using different RemoteIPRanges to specify the remote hosts that can connect to it. For example, you can create a Receive Connector for a set of remote hosts and specify a different message size to allow those hosts to send larger messages, or to restrict them to smaller messages.
Send Connector limit
Send Connectors are used for sending outbound messages to the internet or particular address spaces (domains). Edge Transport servers also have a Send Connector to send inbound messages to Hub Transport servers in an AD Site. To modify the maximum message size on Send Connectors, select Organization Configuration | Hub Transport | Send Connectors -> select connector | Properties | General tab.
To set SendConnector limit using the shell:
Set-SendConnector “CONNECTOR NAME” -MaxMessageSize 40Mb
Pages: 1 2
{ 104 comments… read them below or add one }
← Previous Comments
Thanks….
I Love U…..
Thank you, thank you, thank you, the information was extremly helpful.
Does anything need to be restarted in EX 2010 after changing the size restrictions on a users mailbox ????
Thx
No, you won’t need to restart anything, although the changes may not kick in immediately. See Mailbox Size Limits Are Not Enforced in a Reasonable Period of Time.
Very useful. Thanks a lot for your contribution!!!
Thx for the feedback! :)
Bharat,
Excellent job!!!
Thank you,
Seemon
Hi, how would you configure a lower limit for attachment sent inside the exchange organization and a larger limit when sending out to external users?
There are no separate limits for inside org and messages received from outside. The organization limit should be the largest message size you want to allow (in this case, to/from external users). You can have a lower limit on Receive Connectors which receive inbound Internet email, but not the other way round.
Excellent! Thanks
Love the article. Very clear and concise.
Just one request for clarification, though. With the Organizational limits, the function of “Transport Dumpster” has changed between Exchange 2007 and 2010. Factoring in these changes, does changing the other transport (send and receive) maximum sizes influence what you would set for the “Maximum size per mailbox database (MB)”? Thanks…
I think Microsoft dropped a ball with this design.
Consider this situation:
Global Send limit – 10MB
Global Receive limit – 20MB
Certain VIP users have Send/Receive limits set at 20MB.
So the VIPs should be able to Receive, say, a 15MB message from the Internet just fine, right? WRONG!
One would think that Exchange would use the Global RECEIVE limit to evaluate incoming messages from the Internet.
BUT NO, Exchange uses the Global SEND limit for INCOMING mail. What kind of messed up logic is this?
I have never seen any other mail server that could not tell the difference between Incoming and Outgoing mail [and apply policies accordingly]
Add insult to injury. When 10MB SEND limit is set, Exchange cannot even receive 10MB messages because of the content conversion bloat.
So you say, big deal, increase the send limit to ~14MB, problem solved, right?
WRONG.
If I set the send limit to 14MB, I will be able to receive 10MB messages from the Internet allright…
But then my own users will be able to literally send 14MB messages out. I tell them the limit is 10MB, they will tell me I am a liar because they are sending 14MB out all day long.
I have the exact same problem!! and yes they called me a liar too….
Hi, I’ve met the same situations as you two and like ANDREY FYODOROV said I had to increase the SEND limit – (Not the RECEIVE) in order to receive a larger mail.
It’s ~ one year since this thread posted , so do Microsoft patch this bug ? or do you guys have any solution for this ?
Thanks
Microsoft doesn’t monitor this blog. You can submit Exchange feature ideas and feedback to the Exchange team at exwish at microsoft.
Thank you Andrey. I spent hours today trying to figure out why my stupid Exchange server was still not receiving attachments of more than 10MB even though I changed it. Extremely dumb by Microsoft.
thanks a lot find it very helpfull
Thanks buddy….you saved me!!!
Hi Bharat,
We have two sets of users: Standard users and VIP users.
We want standard users to be able to send mail externally with a limit of 10MB and for VIP users to be able to send mail externally with a limit of 15MB.
We have only one Internet Send Connector. How do we configure Exchange to allow the two sets of users to send mail externally with their limits?
I know we can edit the ‘Message Size Restrictions’ on the inividual mailbox properties, but that is only for internal messages as you stated above.
How do we set this for external users?
Thanks in Advance
Randeep
You can’t do this using message size limits. For a message to be successfully sent and received, it must be within the size limits of the sender *and* the recipient. As noted in the post, messages sent/received to/from Internet senders are considered as sent/received by anonymous senders.
Another option would be transport rules, but there’s no predicate to inspect message size – there is one to inspect *attachment size*, which will consider each attachment separately. See Transport Rule Predicates in Exchange 2010 docs.
Ok so if I change the global settings to send/receive 25MB does that mean all users are allowed to send/receive attachments up to that size or do I also need to specify the size for each of the users?
Per-user settings should only be used as exceptions to org settings – they’re not set by default and you shouldn’t need to.
Great article!
Ok, all of the mailboxes that we migrated over from Exchange 2003 have their send/receive limit set to 4 MB. We want them to use the Exchange 2010 global settings and not have anything set individually. How do we get rid of the 4 MB limits?
Thanks!
Use this command to get a list of all mailboxes with MaxSendSize or MaxReceiveSize set to a non-default value:
Get-Mailbox -FIlter {MaxSendSize -ne $null -OR MaxReceiveSize -ne $null} | ft Name,MaxSendSize,MaxReceiveSize
This command sets all mailboxes with a non-default MaxSendSize or MaxReceiveSize to their default value (unlimited):
Get-Mailbox -FIlter {MaxSendSize -ne $null -OR MaxReceiveSize -ne $null} | Set-Mailbox -MaxSendSize unlimited -MaxReceiveSize unlimited
Worked perfectly! Thanks!
hi
please help me…i cant see attach file when i forward mail with attach file in microsoft outlook but when i see mail box with web browser i can see my attach file in mail forward..what is wrong please help me immediatly
Awesome walk through, being an exchange novice I depend on well written documents such as this to help me.
Thanks so much
So what really is the use for the per mailbox send/recieve limits? It seems that it would only be valuable if you have a high limit for your org and want to set some/most people to less than that. But that seems like a lot of effort and then should be done manually everytime you create a new mailbox.
Our situation is that we want just a particular user or group of users to be able to recieve large emails from the Internet. Imagine if you have an art department with valide need to recieve large work via email. But the only way to do this is with the Org config and Hub-transport recieve connector. But then that opens it up for everyone, correct?
What an excellent article. You should do this sort of thing for a living.
what is the right cmdlet, that i want to list a data that contain : all users,filter by department and mailbox database then export it to csv .
I did all of this… I have 2 companies that want to send 15 MB files to eachother…So I set the transportconfig to 25MB, I set send/receive to 25MB, and still they get the same error with the 10MB limit. Makes no sense at all!! What else could be needed? I even went to a few ppl and set just their send receive to 25MB, which is pointless because it’s the global setting…or I thought as described above. What am I missing? I checked everything in EMS and dont see a single field that doesn’t show 25MB for attachments.
:-( What am I missing?
I get the feeling I need to restart the Microsoft Exchange Transport Services too. that makes sense to me….will try that off production hours and update.
Are the send/receive connectors between the two companies authenticated? Else limits for anonymous (i.e. lowest limits along the path – global/Org limit or Send/Receive connector limits) apply.
Assuming you only have one Hub Transport Server, your issue may be related to Attachment Size Limits. This was the missing link in my EX2010 SP1 server. Try the following cmd in Exchange Console:
Set-TransportConfig -ExternalDsnMaxMessageAttachSize 25MB -InternalDsnMaxMessageAttachSize 25MB
To verify settings have taken effect (and get some other detailed info regarding the connector), type:
Get-TransportConfig
In general, any “set-” cmd can also be used as a “get-” command to view the information before you make modifications.
Hope this is helpful!
Thank you,
Good one.
Fantastic job, thanks!!
Great article!! Helped to clarify with attachments which I was struggling with. Thanks!
Hi,
For my client (ex2010)we have an internal limit of 100mb limit and any incoming or outgoing outside the organisation we have 20mb limit. we would like to set one particular mailbox to send and receive 50mb from outside the organisation. if i do it from the hub transport that will change it globaly which i don’t want.
@Anish: As stated in the post, Internet mail is sent/received to/from anonymous recipients. For the individual exception to work, a message size must be within the allowed sizes of both sender and recipient. You can’t configure an exception for anonymous.
Awesome saved my bacon before a migration. Thanks
Thanks. This solved my problem.
Thank you very much, fixed some issue over here :)))
for me it worked only after i restarted the Microsoft Exchange Transport Services .thx
There may be some latency due to caching and Active Directory replication. Restarting service generally helps pick up the latest config changes use when you want the changes to kick in immediately.
when I launch these ones:
To track messages that failed because of recipient’s MaxReceiveSize:
Get-MessageTrackingLog -EventID FAIL | where {$_.RecipientStatus -like “*RecipSizeLimit*”}
To track messages that failed because of the sender’s MaxSendSize:
Get-MessageTrackingLog -EventID FAIL | where {$_.RecipientStatus -like “*SendSizeLimit*”}
I get
WARNING: There are more results available than are currently displayed. To view them, increase the value of the
ResultSize parameter.
what parameters do I need to run it properly?
By default PowerShell returns 1000 results. You can specify a lower/higher number or unlimited.
See ResultSize parameter description in Get-MessageTrackingLog cmdlet help:
https://technet.microsoft.com/en-us/library/aa997573.aspx
Hi Andrey,
Loved your strong comment :) Seems someone stole words of my mouth. However, did you get a +ve response on the logic by some MS technical guy?
Ok so if I change the global settings to send/receive 25MB does that mean all users are allowed to send/receive attachments up to that size..rght ???? if i need it only for few users how do I configure the same ?
thanks for the detailed info, fantastic job.
Bala.
Thanks for the feedback!
Hi Bharat,
I have 2 ex2007 sp2 hub serves and have 15 mb send and rec limits sent on global settings and on connectors. I changed its value to 25 mb and restarted transport services .Still user is not able to send email with attachment of more than 14 mb. May i missing any configs ?
thanks very much. worked perfectly. :0) xx
Very useful… thank you!
Please help me .. still doesn’t work !!
← Previous Comments
{ 11 trackbacks }