Anytime you upgrade Exchange, your new servers will have some default settings that you may need to root out. The most immediate one to address is the default Mailbox size limits that are listed when you create a new mailbox database – they are pretty stingy so increase these on the Limits tab or set to unlimited.
Another one that caught me off guard recently on Exchange 2016 is a message rate limit imposed on certain receive connectors, namely the Client Frontend and the Client Proxy. A developer saw this error in some app logs as a symptom:
java.lang.Thread.run(Thread.java:745)Caused by: com.sun.mail.smtp.SMTPSendFailedException: 421 4.4.2 Message submission rate for this client has exceeded the configured limit
To find the rate limits of your connectors, enter the following command into an Exchange shell:
get-receiveconnector | ft name,messageratelimit
You’ll see a list of all connectors and their messageratelimit. Some of mine said 5 which was a default setting. Since I have other protections in our enterprise such as Anti-virus with mail worm protection and outbound filtering, I want all of my rates to be unlimited. I wrote this simple command to make that happen:
get-receiveconnector | set-receiveconnector -MessageRateLimit Unlimited
Once you make that change, be sure to restart your transport service on each Exchange server that previously had a limit of 5 and you’ll be free of these limitations.
Another annoying setting is the default MAPI limit, and with the preferred connection method being MAPI with Exchange 2016 you’ll want to increase yours from the default which I believe is 50:
Log into each Exchange server
Open the registry editor
Goto the following key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
Right click on ParameterSystem and select new, then select key
Rename the new key to MaxObjsPerMapiSession
Right click on MaxObjsPerMapiSession and select new, then select DWORD (32-bit) Value
Rename the new DWORD value to objtMessage
Change the value to a higher number (I set mine to 1500)
Restart the Information Store service
And finally, the content filter. If you already have an enterprise-grade upper-Gartner-quadrant spam filter, you do not need Exchange inspecting your emails because it will block completely valid emails. To turn that off you’ll need to run Get-ContentFilterConfig and take a look at each feature that’s turned on. Then run Set-ContentFilterConfig -<servicename> $false and don’t forget to run this separately on each EDGE server since they will not sync these settings and will continue to block as I learned the hard way.