Setting Message Size Limits in Exchange 2010 and Exchange 2007

by Bharat Suneja on September 10, 2007

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.

1Organizational 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.

Exchange Server 2007 | Transport Settings
Figure 1: Setting the organizational message size limits from the Global Settings tab in the EMC in Exchange 2007 SP1 and later

2Receive 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.

Screenshot: Maximum message size on a Receive Connector
Figure 2: Setting the maximum message size on a Receive Connector

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.

3 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.

Screenshot: Maximum message size on a Send Connector
Figure 3: Setting the maximum message size on a Send Connector

To set SendConnector limit using the shell:

Set-SendConnector “CONNECTOR NAME” -MaxMessageSize 40Mb

Pages: 1 2

{ 104 comments… read them below or add one }

1 KHUNCUNG November 20, 2010 at 6:54 pm

Thanks….
I Love U…..

Reply

2 dglenn November 23, 2010 at 9:03 am

Thank you, thank you, thank you, the information was extremly helpful.

Reply

3 Steve Einhorn November 29, 2010 at 8:25 am

Does anything need to be restarted in EX 2010 after changing the size restrictions on a users mailbox ????

Thx

Reply

4 Bharat Suneja December 5, 2010 at 7:57 pm

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.

Reply

5 Jane Yang December 8, 2010 at 1:35 pm

Very useful. Thanks a lot for your contribution!!!

Reply

6 Bharat Suneja December 9, 2010 at 6:36 am

Thx for the feedback! :)

Reply

7 SeemonRaj S December 30, 2010 at 3:40 pm

Bharat,

Excellent job!!!

Thank you,
Seemon

Reply

8 aryx February 7, 2011 at 3:11 pm

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?

Reply

9 Bharat Suneja February 7, 2011 at 4:06 pm

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.

Reply

10 Viren March 16, 2011 at 11:00 pm

Excellent! Thanks

Reply

11 David March 20, 2011 at 8:33 pm

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…

Reply

12 ANDREY FYODOROV April 27, 2011 at 6:20 am

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.

Reply

13 Obeid Mirza June 30, 2011 at 9:57 am

I have the exact same problem!! and yes they called me a liar too….

Reply

14 GiangDC April 14, 2012 at 12:04 am

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

Reply

15 Bharat Suneja November 20, 2012 at 11:51 am

Microsoft doesn’t monitor this blog. You can submit Exchange feature ideas and feedback to the Exchange team at exwish at microsoft.

Reply

16 Alex Mack November 16, 2012 at 1:04 pm

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.

Reply

17 טכנאי מחשבים | תיקון מחשבים May 21, 2011 at 6:06 am

thanks a lot find it very helpfull

Reply

18 Gurdip May 22, 2011 at 6:28 pm

Thanks buddy….you saved me!!!

Reply

19 Randeep July 20, 2011 at 2:19 am

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

Reply

20 Bharat Suneja July 20, 2011 at 8:41 am

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.

Reply

21 Shaffi Sait August 2, 2011 at 5:13 pm

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?

Reply

22 Bharat Suneja August 2, 2011 at 7:04 pm

Per-user settings should only be used as exceptions to org settings – they’re not set by default and you shouldn’t need to.

Reply

23 Cemberde September 2, 2011 at 1:53 pm

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!

Reply

24 Bharat Suneja September 5, 2011 at 7:35 am

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

Reply

25 Cemberde September 7, 2011 at 7:58 am

Worked perfectly! Thanks!

Reply

26 solgi December 11, 2011 at 1:20 am

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

Reply

27 GGeisz October 20, 2011 at 2:44 pm

Awesome walk through, being an exchange novice I depend on well written documents such as this to help me.

Thanks so much

Reply

28 Gregory Scholz November 4, 2011 at 3:21 pm

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?

Reply

29 Russel November 17, 2011 at 12:54 am

What an excellent article. You should do this sort of thing for a living.

Reply

30 Memi December 6, 2011 at 10:30 pm

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 .

Reply

31 Jeff December 14, 2011 at 12:17 pm

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?

Reply

32 Jeff December 14, 2011 at 1:29 pm

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.

Reply

33 Bharat Suneja December 15, 2011 at 1:45 am

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.

Reply

34 Rob September 4, 2012 at 6:18 pm

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!

Reply

35 Varun December 20, 2011 at 7:51 am

Thank you,
Good one.

Reply

36 Rory January 6, 2012 at 6:15 am

Fantastic job, thanks!!

Reply

37 Sunny January 26, 2012 at 11:54 am

Great article!! Helped to clarify with attachments which I was struggling with. Thanks!

Reply

38 Anish February 1, 2012 at 6:08 pm

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.

Reply

39 Bharat Suneja February 2, 2012 at 12:31 pm

@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.

Reply

40 webfoo February 5, 2012 at 3:05 pm

Awesome saved my bacon before a migration. Thanks

Reply

41 JanSch February 7, 2012 at 8:09 am

Thanks. This solved my problem.

Reply

42 Kurt March 6, 2012 at 4:31 am

Thank you very much, fixed some issue over here :)))

Reply

43 sunny April 3, 2012 at 2:50 pm

for me it worked only after i restarted the Microsoft Exchange Transport Services .thx

Reply

44 Bharat Suneja April 24, 2012 at 12:45 am

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.

Reply

45 Aigars April 4, 2012 at 7:55 am

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?

Reply

46 Bharat Suneja April 24, 2012 at 12:42 am

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

Reply

47 Shiraz April 22, 2012 at 1:32 am

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?

Reply

48 cshakeer May 25, 2012 at 12:47 am

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 ?

Reply

49 Bala June 5, 2012 at 4:15 pm

thanks for the detailed info, fantastic job.
Bala.

Reply

50 Bharat Suneja August 13, 2012 at 11:20 pm

Thanks for the feedback!

Reply

51 Sameer Desai September 13, 2012 at 5:38 am

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 ?

Reply

52 James Lockwood September 17, 2012 at 7:51 am

thanks very much. worked perfectly. :0) xx

Reply

53 Robert Krpoun November 2, 2012 at 10:47 am

Very useful… thank you!

Reply

54 Carmine January 18, 2013 at 2:07 am

Please help me .. still doesn’t work !!

Reply

Leave a Comment

{ 11 trackbacks }

Previous post:

Next post: