Set Message Size Limits in Exchange 2010 and Exchange 2007

by Bharat Suneja

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

4 Recipient limits

In Exchange 2010/2007, you can configure individual message size limits on the following recipient types to bypass the Organizational limits:

  • Mailbox (Mailbox User, aka mailbox-enabled user in previous versions)
  • Contact (aka Mail Contact)
  • Mail User (aka mail-enabled user in previous versions)
  • Distribution Group
  • Public Folder

To set these using the Exchange console: Recipients | Mailbox -> select mailbox (or select another recipient type such as a contact or mail user from the corresponding node) | properties | Mail Flow Settings tab | Message Size Restrictions.


Figure 4: Setting the maximum message size on a mailbox

To set message size limits on a mailbox using the Exchange shell:

Set-Mailbox “Joe Adams” -MaxSendSize 20Mb -MaxReceiveSize 20Mb

Distribution Groups and Contacts (MailContacts) only have maximum receive size in the Exchange console, but both MaxReceiveSize and MaxSendSize properties can be set for them using the Exchange shell.

Do individual message size limits bypass the Organization message size limits?

This is perhaps one of the most misunderstood part of message size limits, and therefore a frequently asked question: when you specify individual message size limits for a recipient, does it override other message size limits in your Exchange organization?

In a nutshell, setting higher message size limits on an Exchange recipient bypasses the maximum message sizes in the Exchange Organization configuration, but only for internal messages, not for messages sent to or received from the Internet and other unauthenticated sources.

Remember, for a message to be delivered successfully, the message size must be within the max message size limits applicable to both – the sender and the recipient. Because the identity of unauthenticated or anonymous senders and recipients can’t be established (because… they’re unauthenticated!), the organizational limit applies.

5 Active Directory SiteLink limit

In Exchange Server 2007 SP1, you can also set maximum message size limit on AD Site Links. Exchange Server 2007 uses the AD Site topology to determine the least cost paths. If the message size to be delivered to a remote AD Site exceeds the limit on the AD Site Link, message delivery will fail. By default, the MaxMessageSize on AD Site Links is set to unlimited. This can be changed using the following command:

Set-ADSiteLink “SITE LINK NAME” -MaxMessageSize 20Mb

Message size limits during coexistence with Exchange 2003

Global Settings

Besides the above, another message size limit can impact Exchange Server 2010/2007 recipients if you’re transitioning from Exchange 2003/2000, but it’s often overlooked when troubleshooting. This is the one in Exchange Server 2003 Global Settings | Message Delivery -> Properties.

Screenshot: Using ADSIEdit to configure message sizes and max recipients per message in Global Settings
Figure 5: You can use ADSIEdit to configure message size and max recipients per message in Global Settings

If you have these configured to a specific value before you upgrade the Organization to Exchange Server 2010/2007, these are left untouched.
If you have these set to “No Limit” before the Exchange Server 2007 upgrade, these are reset to the Exchange Server 2007 defaults.
– In case Exchange Server 2007’s Organization settings (the ones you can set using Set-TransportConfig) conflict with these legacy Global Settings, the lower of the two sizes are used.

The problem is, these are neither visible in the EMC, nor using any of the Exchange shell commands.

If you still have an Exchange Server 2003 server in the Organization, you can use ESM to modify these limits. Alternatively, you can use ADSIEdit to browse to the Configuration container | Services | Microsoft Exchange | YourOrgName | Global Settings | Message Delivery -> Properties, and modify the following attributes as required:

  1. delivContentLength -> corresponds to MaxReceiveSize parameter in Set-TransportConfig command.
  2. SubmissionContentLength -> corresponds to MaxSendSize parameter in Set-TransportConfig command.

    Note: The maximum value for both of the above is 2097151 KB, slightly under 2 Gb.

  3. msExchRecipLimit -> corresponds to MaxRecipientEnvelopeLimit parameter in Set-TransportConfig command.

Set these to be the same as the equivalent Organization settings in Exchange Server 2007.

Exchange Server 2007 SP1 makes managing changes to Exchange 2003’s Global Settings easier— if they have numeric values (i.e. aren’t set to “No Limit”), using Set-TransportConfig to change maxReceiveSize, maxSendSize or maxRecipientEnvelopeLimit also changes the corresponding Global Settings.

Routing Group Connector Limit

Routing Group Connectors are used in co-existence scenarios to transfer messages between Exchange Server 2003/2000 Routing Groups and the Exchange Server 2007 Routing Group (yes, there is one under the hood.. ). Messages exchanged between these Routing Groups should be below the message size limits of their respective RGCs. The default is set to unlimited.

To set the MaxMessageSize on a Routing Group Connector:

Set-RoutingGroupConnector “CONNECTOR NAME” -MaxMessageSize 20Mb

Content conversion and message size limits

When troubleshooting message size-related issues, the content conversion process was another source of confusion. Content conversion happens when Exchange converts an internet/MIME message to MAPI/Exchange format, and vice versa. Content conversion generally increases the message size — roughly by 30%. If you set a maximum message size of 10Mb., and wonder why a 9 Mb. attachment didn’t make it through, consider the content conversion overhead, as also message headers (which are computed along with the DATA portion of the message to calculate the message size), and any actions taken by Transport Rules or other transport agents.

How does Exchange 2010/2007 handle such messages? When a message enters the Exchange 2010/2007 Organization, it gets stamped with a X-MS-Exchange-Organization-OriginalSize header, which indicates the original size of the message before content conversion. When considering message size limits, if the message has since ballooned to a larger size due to content conversion, added headers, etc. the lower of the original message size and the current (converted) message size is considered, eliminating some of the confusion seen with message sizes in previous versions.

Troubleshooting Sender and Recipient Size Limits

Consider the sender’s MaxSendSize and the internal recipient’s MaxReceiveSize when troubleshooting message size issues.

If the the sender isn’t allowed to send a message of that size, you get the following NDR:

#550 5.2.3 RESOLVER.RST.SendSizeLimit; message too large for this sender ##

If the sender’s size limits allow sending a large message, but the recipient’s limits do not allow receiving a message of that size, you get a NDR with the following text (note the enhanced status code informing you exactly why the message was rejected):

#550 5.2.3 RESOLVER.RST.RecipSizeLimit; message too large for this recipient ##

Using the Exchange shell to track failed message delivery

You can use the Exchange shell to track messages that could not be delivered because of message size issues. The RecipientStatus field in Message Tracking logs is used to store the SMTP response and enhanced status codes. The Message Tracking EventID we’re looking for is FAIL. (Read previous post on message tracking: “Exchange Server 2007: Message Tracking from the command line“)

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*”}

Exchange MVP Michel de Rooij has published a Configure-ClientSizeLimits.ps1 script to allow you to configure message size limits affecting OWA and EAS clients. See Client Message Size Limits on his blog.

Message size limits in Exchange Online

In Exchange Online, the message size limit is set to 150MB (for Outlook on Windows, 112MB for OWA and a much lower 35MB for Outlook Mac – likely Outlook Mac 2011). Exchange Online also limits the number of attachments per message to 250. You can find all Exchange Online limits, including message size limits, in a single, comprehensive doc – Exchange Online Limits.

Message size-related documentation

{ 48 comments… read them below or add one }

The Mantles September 10, 2007 at 9:50 pm

I love the bubbles… what app did you do this in??.. very nice

Reply

Bharat Suneja September 10, 2007 at 10:19 pm

Thanks – a combination of SnagIt and Adobe FireWorks.

Reply

Blackmouth September 14, 2007 at 7:45 am

Is there a way to deliver a message that was not delivered due to size limit restrictions?

Reply

Bharat Suneja September 14, 2007 at 8:08 am

The messages that aren’t delivered aren’t held in some queue – they’re NDRed.

Reply

Anonymous October 10, 2007 at 9:06 pm

Nice! You stated that the settings on the mailbox will only override the internal receive message size restrictions. Is there a way to allow a user, or group of users to send messages over a send connector (Internet) higher than the size limits?

Reply

Anonymous November 29, 2007 at 9:02 am

We upgraded from Exchange 2000 to 2007 and I am having trouble with the attachment limit. In item 5 you say “Alternatively, you can use ADSIEdit to browse to the” Can you explain what that is. Thanks

Reply

Anonymous January 30, 2008 at 7:48 am

is there anyway to amend the 5.3.2 text in the non-delivery, I have tried using set-systemmessage etc.. but this does not appear to work.

Reply

Anonymous March 3, 2008 at 9:42 am

It was stated that you can increase the limits for recipients but this will only override for internal email and not external. Is there a way to override the external limits? I need to be able to do this for certain users.

Reply

Bharat Suneja March 3, 2008 at 9:55 am

Haven’t been able to respond to all the comments due to time constraints.

For the preceeding comment – fairly certain that’s not possible. Changes to message size limits for individual recipeints can be made because they reside in AD. External recipients/senders do not, so you can’t modify individual limits for them (there’s noting to modify).

Internet email is submitted without authentication.

Reply

Anonymous March 4, 2008 at 1:32 pm

I wonder if you have any idea how I can get around this one? I have multiple send connectors with different message size restrictions. The reason is that we have a number of different mail systems internally which mail needs to be directed to. The problem is that if a message is to large for the send connector configured with the same address space as the message it uses the internet send connector (with address space *) which has a larger message size restriction.

Reply

tsoorad March 17, 2008 at 12:27 pm

All in the same place.
Very nice.
John Weber

Reply

Anonymous April 9, 2008 at 7:41 pm

Hello There,

I wonder if it is possible to allow certain AD Users (or groups) the ability to override the Mailbox receive limits for users that may have a full mailbox.

We are in a School, and kids never empty their mailboxes and Teachers are continually telling us that they are getting Mailbox Full messages. Is it possible to allow the Teachers to send but it reject anything else if mailbox is too large?

Thanks

Chris

Reply

Anonymous June 19, 2008 at 11:34 am

Why would Microsoft not allow a GLOBAL limit and allow user specific with unlimited per user? Example, 5 MB for all users but 50 MB for all management.

Reply

Anonymous June 30, 2008 at 9:36 pm

Hi, Picture this:

Organizational Limit: 5MB
All Send Connector: 10MB
All receive Connectors: 10MB
My Mailbox Limit: 10MB (overwrites organizational limit right?)

Will i be able to send/receive 9MB emails?

Reply

Rob July 7, 2008 at 3:15 pm

Possibly in the wrong post, but has anyone heard of messages not being delivered due to be too small?

We have a situation on Exchange 2007, where the message tracking shows the message as delivered, but the message does not show up in the mailbox. We know that it isn;t a client issue as it is not there on OWA either.

If a mail is sent with an attachment it gets through.

Any ideas?

Thanks

Reply

Bharat Suneja July 7, 2008 at 3:26 pm

@Rob: There’s nothing (out-of-the-box) that would prevent a small message from being delivered. If Message Tracking says it’s been delivered to a mailbox, that’s where it should be.

Next, you start looking at what may happen after delivery. For instance, if Outlook junk-mail is turned on, turn that off. Take a look at Inbox/Outlook rules— the mailbox may have a rule to move or delete items. Check other folders, including Deleted Items.

Reply

Rob July 8, 2008 at 2:22 am

Thanks Bharat – but we are pretty sure (i.e. we have checked) that it is not the client – so, there are no rules, it is not going to the junk mail or anything like that. It also doesn’t show up on OWA.

If it was being treated as junk it would end up in the same folder – but if we send with an attachment it comes through into the inbox.

All in all it is very perculair.

Rob

Reply

Anonymous August 19, 2008 at 1:27 am

@rob – You need to take pipeline tracing to check what is actually happening behind the show.

How to Enable Pipeline Tracing
http://technet.microsoft.com/en-us/library/bb125018.aspx

Regards,
-Arun

Reply

Pakej Promosi Video Dan Gambar September 15, 2008 at 10:15 pm

Why when i set maximum size to new size, exchange still keep older maximum size when i try sent attachment? any body can help me to set automatic update on exchange 2007?

thanks.

Reply

Parker February 6, 2009 at 10:36 am

Thanks for the info and a great site!
Is it necessary to restart any services after making changes to the message sizes?
I changed all mine from 10 to 15mb and still can’t send a 12mb file.

Reply

Anonymous February 19, 2009 at 9:07 pm

These is a way to set management size vs user size limits. It takes some clever use of Routing Groups. MGR’s are part of one with big limits, and Users are members of another.

Reply

תיקון מחשבים May 12, 2009 at 3:58 pm

Good job guys! Interesting article, adding it to my favourites!

Reply

Anonymous May 18, 2009 at 10:44 am

Hi All

We have Restricted Maximum Recipients to 30 for all DataBases very long back by using cmdlet through EMS, but when we create new user accounts it’s not going to be applied that setting , again we have to set manually and sometimes we are forgetting & POP3 needs to be disabled automatically

Is there any cmdlet, transport rule or e-mail policy which can automatically apply that setting (Maximum recipient to 30 & POP3 should be Disabled simultaneously) for all new users as well as for all existing users.

I mean the policy should be applied forever.

Appreciated your help.

Thanks in Advanced.

Regards,
Amjad

Reply

Anonymous May 19, 2009 at 11:42 pm

Hi,
Can we shedule big attachment mail.
I have request to allow 20mb attachment but they should all be deleiver in late in night.

Thanks

Reply

Anonymous June 3, 2009 at 1:25 pm

Thanks! I kept looking at Microsoft's wordy 10 page responses and you just cut to the point! I would never be able to deal with Microsoft's products but for third party people like you!

Reply

Bharat Suneja June 3, 2009 at 1:30 pm

@Anonymous from May 19: No, Connectors cannot be scheduled.
@Amjad (Anonymous) from May 18: Schedule a powershell command/script to run using Windows Scheduler. Details in Exchange 2007 docs.

Reply

Anonymous June 18, 2009 at 4:28 am

So MS has dropped mail scheduling feature in exch2k7, which it had in Exch2k3.

Thanks
Asif

Reply

Anonymous June 22, 2009 at 4:09 am

hii all,
I have made changes in the Global setting of My Exchange server.

Maximum sending Size to 4 MB and Maximum receipient is 20.
I want to know will it effect the Incoming also.
In my case its effecting if a sender sends mail from outside as in from gmail or yahoo the mail bounces if its more than 20 recipient or 4 MB. Why Incoming is getting effected.

Reply

web design India June 22, 2009 at 10:08 pm

thank you! That looks like a great resource

Reply

תיקון מחשבים July 18, 2009 at 11:07 pm

Really well writing and informative article. Bookmarked for future reference

Reply

tapestries August 15, 2009 at 3:23 pm

This site has good information. Thanks

Reply

exchangepedia.com/blog/2007/09/exchange-server-2007-setting-messa טכנאי מחשבים September 19, 2009 at 5:09 pm

thanks for the tips,very useful article!

Reply

exchangepedia.com/blog/2007/09/exchange-server-2007-setting-messa טכנאי מחשבים September 19, 2009 at 5:09 pm

thanks for the tips,very useful article!

Reply

exchangepedia.com/blog/2007/09/exchange-server-2007-setting-messa טכנאי מחשבים September 19, 2009 at 5:09 pm

thanks for the tips,very useful article!

Reply

exchangepedia.com/blog/2007/09/exchange-server-2007-setting-messa טכנאי מחשבים September 19, 2009 at 5:09 pm

thanks for the tips,very useful article!

Reply

Exchange server October 5, 2009 at 7:48 am

Thanks for the help

Reply

Deon van der Merwe October 12, 2009 at 11:22 pm

Damn, this is great thanks. After spending hours with docs from MS, it took 10 minutes with yr advice to sort out my issue.

THANK YOU.

Reply

David December 1, 2009 at 7:04 am

This article talks about message SIZE, but is there any limit (or way of setting one) on the NUMBER of attachments, as long as the total size is within the limit? One of my users with outlook 2007 is hitting a 'too many attachments' message, after upgrading from outlook 2003; 14 attachments was no trouble before.

Reply

Bharat Suneja December 1, 2009 at 7:22 am

@hesaster_amy: Can you provide more details?

Reply

Bharat Suneja December 1, 2009 at 8:36 am

@David: You can configure the type of attachments allowed or blocked— see Customize attachment settings in Outlook 2007. There's no setting for number of attachments afaik. I just sent a message with 50 attachments. Is this an Outlook error or an NDR?

Reply

web design company india December 6, 2009 at 10:28 am

Thanks ! Looks very, very interesting."Bookmarked it for reading later.

Reply

Anonymous February 15, 2010 at 2:38 am

Nice article very useful!
A question reguardind to point #4 :
I have 1500 users, how to set all users at 10Mb and only 3 users at 20Mb for internal AND external ?
thanks

Reply

Damith Abeykoon February 24, 2010 at 8:15 am

Very usefull article. Save time. Correct and clear instructions. Thanks a lot.

Reply

Jim Ponder March 2, 2010 at 1:20 pm

Rock on dude- very nice and to the point. Maybe Microsoft should hire you! :-)

Reply

TT March 30, 2010 at 5:36 pm

"If the recipient is allowed to receive a large message, but the sender isn't allowed to send a message of that size, you get the following NDR:
#550 5.2.3 RESOLVER.RST.SendSizeLimit; message too large for this sender ##"

THIS IS NOT TRUE. This is still a problme with the recipient.

Reply

Tim March 30, 2010 at 5:39 pm

"If the recipient is allowed to receive a large message, but the sender isn't allowed to send a message of that size, you get the following NDR:
#550 5.2.3 RESOLVER.RST.SendSizeLimit; message too large for this sender ##"

This not true. This can be a problem with the limit of the recipient size limitation regardless of it saying "sender".

Reply

Anonymous April 28, 2010 at 12:30 am

VEry useful information. Thank you!
However, im a bit confused about the maximum Recipient Envelope Limit; ive set the same for our exchange using the set-transport config command from shell. This is affecting both our outbound mail and inbound mail. I would however, like to control the max. recipients only for mails leaving our server and would like to accept emails having multiple emails from external senders.
Is there a way to differentiate these two setting in Exchange 2007 SP1? Any help would be much appreciated.
Thanks
P

Reply

Va Infotech September 9, 2010 at 3:20 am

good information

thanks

Reply

Cancel reply

Leave a Comment

{ 2 trackbacks }

Previous post:

Next post: