15 December 2016

SCOM - The Ehlo options for the client proxy target did not match

The full error is this one:

Alert: Exchange Health Set
Source: sr-XXXXX - HubTransport
Path: sr-XXXXX.domain.lan;sr-XXXXX.domain.lan
Last modified by: System
Last modified time: 12/15/2016 9:43:40 AM Alert description: The Ehlo options for the client proxy target 1.1.0.1 did not match while setting up proxy for user  on inbound session 08D41FF9C251F8DD. The critical non-matching options were <maxSize>. The non-critical non-matching options were <NONE>. Client proxying will continue.
Probe Exception: ''
Failure Context: ''
Execution Context: ''
Probe Result Name: 'Transport/SmtpProxyEhloOptionsDoNotMatchContinueProxying'
Probe Result Type: 'Failed'
Monitor Total Value: '0'
Monitor Total Sample Count: '1'
Monitor Total Failed Count: '1'
Monitor Poisoned Count: '0'
Monitor First Alert Observed Time: '15-12-2016 08:43:37'

The error itself doesn't tell you al lot at first glance.
But if you look at "client proxy target 1.1.0.1" it shows you in the direction of the receive connector on the server the error originated from.

So what's happening here?
Let's say the MaxMessageSize for the organisation is set to 50MB.
An email arrives at the Client Frontend receive connector which has a size of  50MB.
If the MaxMessageSize is set at 50MB it gets passed on to the Client Proxy receive connector which usually has a MaxMessageSize setting of 50MB as well.
Then it will be passed on to the Outbound Frontend Proxy receive connector which has a setting of 50MB as well.

Every time the message gets proxied/passed on to the next receive connector some header info gets added to the message making it a little bit bigger.
So in other words your receive connector needs to accept a bigger MaxMessageSize for every step along the way.

How do we do this?

First check your Current settings:
get-ReceiveConnector *\* | fl   identity,role*,maxm*size,bind*

Then check the settings for the individual receive connector on all the servers:
Get-ReceiveConnector "*\client proxy servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\client frontend servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\outbound proxy frontend servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\client frontend servername" | fl identity,role*,maxm*size,bind*

After that set the MaxMessageSize for the Client Frontend connector on each server:
Set-ReceiveConnector   "servername\client frontend servername" -MaxMessageSize 50MB

Then set the MaxMessageSize for the Client Proxy connector on each server, and add 1MB:

Set-ReceiveConnector   "servername\client proxy servername" -MaxMessageSize 51MB

Then set the MaxMessageSize for the Outbound Proxy Frontend connector on each server, and add 1MB:
Set-ReceiveConnector   "servername\outbound proxy frontend servername" -MaxMessageSize 52MB

Now you can check your settings with the same commandlet as you started with:
Get-ReceiveConnector "*\client proxy servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\client frontend servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\outbound proxy frontend servername" | fl identity,role*,maxm*size,bind*
Get-ReceiveConnector "*\client frontend servername" | fl identity,role*,maxm*size,bind*

Then restart the MSExchangeTransport Service on each server to activate the settings:
Get-Service   -ComputerName servername -Name MSExchangeTransport | Restart-Service

2 comments:

  1. Anonymous10/8/17 15:33

    I could not resist commenting. Perfectly written!

    ReplyDelete
  2. I blog quite often and I genuinely thank you for your information. The article has really peaked my
    interest. I'm going to book mark your blog and keep checking for new information about once a week.

    I subscribed to your Feed as well.

    ReplyDelete