Share via

we've encountered an issue where outgoing messages stall after receiving an SMTP 354

Jayden Jinnie 200 Reputation points
2025-09-17T06:42:02.8+00:00

We're running an on-premises Exchange Server 2019 environment to handle internal and external email workflows for several automated business processes. Recently, we've encountered an issue where outgoing messages stall after receiving an SMTP 354 (Start mail input) response from the server, the process does not complete, and the emails are never sent.

 

How can we resolve it to ensure reliable email delivery for automated systems?

Exchange | Hybrid management
Exchange | Hybrid management

The administration of a hybrid deployment that connects on-premises Exchange Server with Exchange Online, enabling seamless integration and centralized control.

0 comments No comments

Answer accepted by question author
  1. Hin-V 14,080 Reputation points Microsoft External Staff Moderator
    2025-09-17T07:46:46.2766667+00:00

    Hi @JayJ

    Thank you for posting your question in Microsoft Q&A. 

    Based on my research, the SMTP 354 response indicates that the remote server is ready to receive the email message body following the DATA command. If outgoing messages from your Exchange Server 2019 are stalling at this point, such as the connection hanging, timing out, or failing without transmitting the message body, it typically suggests that the Exchange transport service is not sending the message data after receiving the 354 response. This isn't a rejection but a transmission halt, often due to connectivity, configuration, or resource issues. 

    Could you try to follow these steps to troubleshoot it: 

    For Firewall:  

    Check firewall to ensure ports 25/587 aren’t blocked. 

    TLS Certificate:  

    Check certificates: Get-ExchangeCertificate | fl Thumbprint,Services. 

    Rebind: Enable-ExchangeCertificate -Thumbprint <Thumbprint> -Services SMTP. 

    Restart service: Restart-Service MSExchangeTransport. 

    Using Telnet to test SMTP communication on Exchange servers: 

    You can refer to: Use Telnet to test SMTP communication on Exchange servers | Microsoft Learn 

    By following the steps in this guide, you will manually send an email by typing the SMTP commands yourself. This completely bypasses your automated application. 

    It forces you to perform the missing step. The guide will instruct you to type the DATA command, and after receiving the 354 response, you will type the message headers and body. Crucially, it will then tell you to type a single period (.) on a new line and press Enter. 

    When you correctly send the final period (.), your Exchange server will respond with a 250 OK message, confirming it has accepted the email. 

    When you successfully send an email using Telnet, you have definitive proof that your Exchange Server 2019 is configured correctly. The problem is therefore isolated to your automated application. 

    The fix is to modify the code of your application to replicate the final step you performed in Telnet: ensuring that after the entire email body is sent, the application sends the termination sequence (<CRLF>.<CRLF>). 

    Please understand that our initial reply may not always immediately resolve the issue. However, with your help and more detailed information, we can work together to find a solution. 


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".      

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 

    Accept answer 1 answer

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.