Sunday, June 8, 2014

SMTP Traffic time out in Relay Application Server

Issue Executive Summary:
Recently, in my client suddenly complaining some of the emails are getting fails which are relaying through the multiple application, as client is using email relay application which are sending more than 7,000 emails in single time to inbound and outbound.
I have worked with application team but did not find any clue, again ball game started issue with application or Exchange servers.
I started to do some research, what is the exact issue, why email getting fail.
First of all i have collected all the errors, most of indicating "time out, and below the error which received in application:

System.Net.Mail.SmtpException: The operation has timed System.Net.Mail.SmtpClient.Send(MailMessage message)

Resolution :

Based on error messages i have started to work in receive connector end, when i checked on receive connector the MaxAcknowledgementDelay attribute of each connector is default value is 30 seconds. In our case we have created custom receive connector which is accepting relay emails from application and IP address is already added in source of receive connector. 
I checked the setting of receive connector which is below

MaxInboundConnection                    : 5000
MaxInboundConnectionPerSource           : 20
MaxInboundConnectionPercentagePerSource : 2
TarpitInterval                          : 00:00:05
MaxAcknowledgementDelay                 : 00:00:30
MessageRateLimit                        : unlimited
MessageRateSource                       : IPAddress

 I made changes on MaxAcknowledgementDelay attribute of receive connector to resolve the issue, now setting is below:

MaxInboundConnection                    : 5000
MaxInboundConnectionPerSource           : 100
MaxInboundConnectionPercentagePerSource : 20
TarpitInterval                          : 00:00:00
MaxAcknowledgementDelay                 : 00:00:00
MessageRateLimit                        : unlimited
MessageRateSource                       : None

You can use below my friends PowerShell command to change the setting:

Set-ReceiveConnector “HUB server\EMail Relay” -MaxAcknowledgementDelay 0 -TarpitInterval 0 -MessageRateSource None

I will suggest you to first put some lower value and verify whether SMTP throughput still having issue, if it does, then disable the feature completely.
When you are disabling this feature in receive connector, it means you will not get the benefits from shadow redundancy which feature provided by Microsoft and always recommended to use storage hardware redundancy for transport servers for which delayes acknowledgements are disabled.

Now, time to take decision how your management take it forward.


No comments:

Post a Comment