Recently I created a custom receive connector for application use (printer, alerting, etc). After a server restart, the MSExchangeFrontEndTransport Service could not start. It hangs at “Starting” and then it crashes.
The error events was:
Event ID: 1019 – MSExchangeFrontEndTransport, error: Failed to start listening (Error: 10048). Binding: 0.0.0.0:25.
Event ID: 1018 – MSExchangeFrontEndTransport, error: The address is already in use. Binding: 0.0.0.0:25.
Event ID: 1036 – MSExchangeFrontEndTransport, error: Inbound direct trust authentication failed for certificate %1. The source IP address of the server that tried to authenticate to Microsoft Exchange is [%2]. Make sure EdgeSync is running properly.
The problem was that I created the custom receive connector with “Hub Transport” role and that causes the problem. I changed the receive connector role to “Frontend Transport” and the service started like a charm. The only way to change a receive connector’s role is using powershell:
#First run: Get-ReceiveConnector | select name,TransportRole #to see the name of the custom connectors that have "Hub Transport" role. #Be carefull to dont alter the default (pre-configured) connectors. Only change connectors that you have created. #Then run Set-ReceiveConenctor "connectorname" -TransportRole FrontendTransport #to change the connector's role to Frontend Transport role
Finally start and re-start (just to make sure) the MSExchangeFrontEndTransport Service