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. You can use different Receive Connectors with different maximum message size limits. 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, partners or scanners and multi-function devices that can send large scanned images or PDF files.

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 2003/2000’s SMTP Virtual Servers consider a unique combination of an IP address + TCP port number as a unique binding, and don’t allow another SMTP Virtual Server to be bound to the same IP address + port combination. Exchange 2010/2007’s more evolved view of a unique binding is a combination of IP address + port + RemoteIPRanges.

What this means:

  • You don’t need another IP address to create a separate Receive Connector with different settings.
  • You don’t have to use a non-default port when using the same IP address to create a separate Receive Connector.
  • You can 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

{ 116 comments… read them below or add one }

KHUNCUNG November 20, 2010 at 6:54 pm

Thanks….
I Love U…..

Reply

dglenn November 23, 2010 at 9:03 am

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

Reply

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

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

Massimo August 6, 2014 at 5:21 am

Great!!!! very usefull, restarting the “Microsoft Exchange Information Store service” on the BE (as is written in the article you suggested), the modification take place immediatly :)

Reply

Jane Yang December 8, 2010 at 1:35 pm

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

Reply

Bharat Suneja December 9, 2010 at 6:36 am

Thx for the feedback! :)

Reply

SeemonRaj S December 30, 2010 at 3:40 pm

Bharat,

Excellent job!!!

Thank you,
Seemon

Reply

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

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

Viren March 16, 2011 at 11:00 pm

Excellent! Thanks

Reply

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

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

Obeid Mirza June 30, 2011 at 9:57 am

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

Reply

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

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

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

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

thanks a lot find it very helpfull

Reply

Gurdip May 22, 2011 at 6:28 pm

Thanks buddy….you saved me!!!

Reply

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

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

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

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

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

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

Cemberde September 7, 2011 at 7:58 am

Worked perfectly! Thanks!

Reply

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

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

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

Russel November 17, 2011 at 12:54 am

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

Reply

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

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

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

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

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

Varun December 20, 2011 at 7:51 am

Thank you,
Good one.

Reply

Rory January 6, 2012 at 6:15 am

Fantastic job, thanks!!

Reply

Sunny January 26, 2012 at 11:54 am

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

Reply

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

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

webfoo February 5, 2012 at 3:05 pm

Awesome saved my bacon before a migration. Thanks

Reply

JanSch February 7, 2012 at 8:09 am

Thanks. This solved my problem.

Reply

Kurt March 6, 2012 at 4:31 am

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

Reply

sunny April 3, 2012 at 2:50 pm

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

Reply

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

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

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:
http://technet.microsoft.com/en-us/library/aa997573.aspx

Reply

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

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

Bala June 5, 2012 at 4:15 pm

thanks for the detailed info, fantastic job.
Bala.

Reply

Bharat Suneja August 13, 2012 at 11:20 pm

Thanks for the feedback!

Reply

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

James Lockwood September 17, 2012 at 7:51 am

thanks very much. worked perfectly. :0) xx

Reply

Robert Krpoun November 2, 2012 at 10:47 am

Very useful… thank you!

Reply

Carmine January 18, 2013 at 2:07 am

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

Reply

Lukas March 1, 2013 at 6:52 am

Hi, thanks for the great article, but i think you should also change the value “Transport Dumpster” in the global Transport Settings. Otherwise the message Limit would be 18MB (Default value). The value should be 1.5 tims of the max size Limit (so 60MB in your case).
Greetings, Lukas

Reply

Hari March 19, 2013 at 10:53 pm

I am also facing this same problem in exchange 2010 while sending more than 10 MB emails.i have changed mail size limit upto 20 mb in both send connector and global settings and also did restart the server.But problem is not solved yet. Actually i have two accepted domains in the server. ex ,aaa.ae & aaa.com. aaa.com is true .but in send connector aaa.ae is showing. aaa.com domain is sending failure delivery message while sending more than 10 MB email.do i need to change aaa.ae to aaa.com in send connector ?or is this an another issue ??Looking forward to hear you soon

Reply

Ayman April 14, 2013 at 8:10 am

many thanks

Reply

Frank P April 17, 2013 at 11:28 pm

Hi guys,
I’m pulling my hair off with this. I had a request to augment from 10Mb to 40Mb the allowance and I’ve done everything I know:

– Set the Transport Settings to 40Mb
– Set every single Receive Connector to 40Mb
– I don’t have individual mailbox maxsend /maxreceive limits
– Followed Rob Sept2012 advice to set ExternalDsnMaxMessageAttachSize and InternalDsnMaxMessageAttachSize to 40Mb
– Verified Email hosted security size is set to 50Mb
– Did all those settings 24 hours ago so restart services is out of the question

So, Why my messages both internally and externally are still rejected????? I’m sending a 15Mb message which it 30% is less than 20Mb. OMG!!! I’m sure that I’m missing something stupid.

BTW: This thread has been very informative hope you guys can help me.

Reply

Bharat Suneja April 18, 2013 at 2:01 pm

What does the DSN/NDR say?

Reply

Frank P April 18, 2013 at 7:15 pm

Hi Bharat,
Thanks for your reply. This is an NDR from internally:

This message couldn’t be delivered
554-5.3.4 message exceeds fixed system limits 554 5.3.4
STOREDRV.Deliver.Exception.MessageTooBigException.MapiExceptionMessageTooBig; Failed to process message due to a permanent exception with Message Cannot complete delivery-time processing.

And this is from an external sender:

Delivery has failed to these recipients or groups:
[email protected]
The recipient won’t be able to receive this message because it’s too large.

The maximum message size that’s allowed is 15 MB. This message is 17 MB.

Diagnostic information for administrators:

Generating server: mail.sender.com
[email protected]
#550 5.2.3 RESOLVER.RST.RecipSizeLimit; message too large for this recipient ##

Original message headers:

Received: from [sender] by
[sender] with mapi id
14.01.0355.002; Thu, 18 Apr 2013 13:56:35 +0800
Content-Type: application/ms-tnef; name=”winmail.dat”
Content-Transfer-Encoding: binary

———————–
To add more frustration to my picture. I restarted Transport Service and Information Store Service and nothing. Also I, verified ADSI edit and the message size are OK.

Reagrds,
Frank

Reply

Hartmann November 19, 2014 at 3:10 am

Dear Frank P,

What do you mean by “Verified Email hosted security size is set to …”

And i’m experiencing same issue as you!

If either you’ve resolved your incident, please share with me the solution.

Thanks for your time to read and reply.

Reply

Michael Beims October 10, 2013 at 10:21 am

Thanks! This was extremely helpful, and I love the graphics and powershell commands too.

I had to adjust the Send limit before the large messages would be “Received”. Just silly, but it works now.

Thanks to All!

Reply

Josh Ferguson October 11, 2013 at 8:50 am

Worked great, although I had to restart Outlook on the machine that was expecting the large attachment before it would pick up the new settings from the Exch server.

Thanks!

Reply

Rino November 6, 2013 at 1:04 am

Hi, I would like to add that there’s around 10MB overhead being added for external emails so if you’re expecting to receive a 30MB email (body + attachment), your hubs must be configured to receive 39MB at least.

Reply

Thomas April 24, 2014 at 7:22 am

I have a DB that has the mailbox size limits set at 2GB.

I need to reduce that to 200MB. There are a few users that have mailbox sizes of 400MB or above.

My question is what will happen to the mailboxes that are above 200MB when I set the DB limit to 200MB? I assume nothing will get deleted , but that the users will start to get ‘Mailbox Full’ messages.

Is that right?

Thanks

Reply

Leave a Comment

{ 15 trackbacks }

Previous post:

Next post: