Exchange 2003
In Exchange 2003 you set the global message size restrictions are set with Exchange System Manager under Global Settings, Message Delivery:
These settings are written to the Message Delivery object in the configuration partition in Active Directory. The object has the distinguished name (DN):
CN=Message Delivery,CN=Global Settings,CN=<org name>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<domain>,DC=<domain>
The attributes written are the following:
GUI Name
Active Directory Attribute
Sending message size
submissionContLength
Receiving message size
delivContLength
Recipient limits
msExchRecipLimit
Exchange 2007
In Exchange 2007 these settings are set using the Set-TransportConfig cmdlet. To view the settings you use the Get-TransportConfig cmdlet:
These settings are written to the Transport Settings object in Active Directory. The object has the following DN:
CN=Transport Settings,CN=<org name>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<domain>,DC=<domain>
The same attributes are used but on a different object.
PowerShell Name
Active Directory Attribute
MaxSendSize
submissionContLength
MaxReceiveSize
delivContLength
MaxRecipientEnvelopeLimit
msExchRecipLimit
Exchange 2007 comes with a setting of ‘unlimited’ for all these values.
Co-existence
As mentioned, Exchange 2007 uses ‘unlimited’ as the default setting. But there are a few situations where these limits do not work as expected.
These situations are:
- If you have both Exchange 2003 and Exchange 2007 servers in your Exchange organization
- If you previously had Exchange 2003 and are now running Exchange 2007, and had a period of co-existence between the two systems.
- If you previously had Exchange 2003 and are now running Exchange 2007, but have not had co-existence between the two systems.
If you have been in one of these situations it is a good chance that your global message limits are not working as expected. The reason for this is that if the Exchange 2007 Transport Configuration is set to unlimited, the Exchange 2007 store will read the old Exchange 2003 value. This means that if your Exchange 2003 value is set to 10 MB and the Exchange 2003 value is set to unlimited, you actually have a global message limit of 10 MB.
The situations when this might occur are listed above, and the reason is that the value is set in different places in Exchange 2003 and 2007 and may be “left behind” when you remove Exchange 2003. Or may have been left behind when you removed Exchange 2003.
Workaround
To fix this issue when you are in a co-existence situation, make sure the two values are synchronized. Set them to the same value using ESM for Exchange 2003 and the Set-TransportConfig cmdlet for Exchange 2007. When you are ready to remove Exchange 2003 completely, set the limits in ESM to unlimited. This is the same as Not Set in Active Directory, meaning no vale to read. That way there is no vale for the Exchange 2007 store to read and it uses the Transport Config value, whatever it is set to (including unlimited).
If you already have removed Exchange 2003 and are experiencing this problem, use ADSI edit to remove the values from submissionContLength, delivContLength and msExchRecipLimit on the Message Delivery object in the Configuration partition. Exchange 2007 will now heed the Transport Config values.
Microsoft is planning to resolve the problem with the Exchange 2007 store reading the old value in Service Pack 1 for Exchange 2007.
Note: There are also several other message size limits defined in Exchange 2003 and Exchange 2007. Connectors, users, SMTP Virtual Servers can also have limits. The limits discussed here are the global message limits.
Some more info here:
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=943981&SiteID=17