We have been using WSUS for several years and currently run it on Server 2022 that we set up last year. Starting last week, the email notifications stopped being sent. We use an internal SMTP server and have used it for years. There haven’t been any changes to the the WSUS server or the SMTP server (though I don’t manage it - only the WSUS server). When I try to send a test email, I get the following message:

System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed.
   --- End of inner exception stack trace ---
   at Microsoft.UpdateServices.Internal.BaseApi.SoapExceptionProcessor.DeserializeAndThrow(SoapException soapException)
   at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.SendTestEmail(String emailLanguage, String smtpUserName, String senderEmailAddress, String smtpHostName, Int32 smtpPort, String recipients)
   at Microsoft.UpdateServices.Internal.BaseApi.EmailNotificationConfiguration.SendTestEmail()
   at Mi

I checked with our networking team to see if any changes had been made to the firewall or other services, but they reported that no changes were made.

The EventVIewer shows Event 10052 with the text “The server is unable to send e-mail notificatsions.”

Has anyone seen this error before or have any suggestions on what to check?

Thanks.

4 Spice ups

Check the SoftwareDistribution.log file in the WSUS directory (\Program Files\Update Services\LogFiles) as sometimes what shows there can point you in the right direction.

Beyond that, are you using the host name of the SMTP server? If so maybe try the IP address instead?

Were you sending with authentication or was it configured as a relay? Possibly the account password expired or changed, or the relay configuration was removed. You may need more answers from the SMTP server management team.

2 Spice ups

I’ll look in the log. Thanks for the recommendation.

I have been using the IP address of the server as it seems to behave better than when I used the server name.

No authentication is required and it is not configured as a relay.

Here is what I found in the log after trying to send an email:

2025-02-06 18:23:22.934 UTC	Info	mmc.3	ThreadEntry	SnapInMessagePumpProxy.Microsoft.ManagementConsole.Internal.ISnapInMessagePumpProxy.Run
2025-02-06 18:23:22.934 UTC	Info	mmc.3	CommonDataAccess.SetSecureChannelProtocols	SCHANNEL Protocols subkey for 'SSL 3.0' not found. Protocol is enabled
2025-02-06 18:23:22.934 UTC	Info	mmc.3	CommonDataAccess.SetSecureChannelProtocols	SCHANNEL Protocols subkey for 'TLS 1.0' not found. Protocol is enabled
2025-02-06 18:23:22.934 UTC	Info	mmc.3	CommonDataAccess.SetSecureChannelProtocols	SCHANNEL Protocols subkey for 'TLS 1.1' not found. Protocol is enabled
2025-02-06 18:23:22.934 UTC	Info	mmc.3	CommonDataAccess.SetSecureChannelProtocols	SCHANNEL Protocols subkey for 'TLS 1.2' not found. Protocol is enabled
2025-02-06 18:23:38.249 UTC	Info	w3wp.242	ThreadEntry	PipelineRuntime.ProcessRequestNotification
2025-02-06 18:23:38.249 UTC	Warning	w3wp.242	SoapExceptionProcessor.SerializeAndThrow	Discarding stack trace for user domain\username, IP Address ::1, exception System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed.
   at System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine)
   at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller)
   at System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response)
   at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, MailAddress from, Boolean allowUnicode)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, Boolean allowUnicode, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   --- End of inner exception stack trace ---
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at Microsoft.UpdateServices.Internal.BaseApi.EmailDelivery.SendEmail(String username, String password, MailAddress from, String host, Int32 port, String body, String subject, MailAddressCollection recipients)
   at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccess.SendTestEmail(String emailLanguage, String smtpUserName, String senderEmailAddress, String smtpHostName, Int32 smtpPort, String recipients)
   at Microsoft.UpdateServices.Internal.ApiRemoting.SendTestEmail(String emailLanguage, String smtpUserName, String senderEmailAddress, String smtpHostName, Int32 smtpPort, String recipients)

I’m still trying to parse it to see if anything jumps out.

Can you connect to the SMTP server?

telnet smtpserver 25

if not, there is your issue.

I had to install the telnet feature, but once installed, I was able to connect to the SMTP server.

And you don’t have access to the SMTP to look at those logs?

I don’t have access but can ask one of the admins to see if they can take a look.

I would have them check the log to see what happens when the WSUS server is connecting to it, does it drop the connection because they now require TLS and WSUS is not configured to authenticate, do they see it connect but fail to send.

You’ll need to work with the relay admins.

1 Spice up

Thanks for the guidance. Hopefully they will have time next week to assist.

It took several months, but I was able to determine that the SMTP server I had been using is blocking the emails. The team over the SMTP servers say no changes were made that should cause the emails from being blocked. If I use the same SMTP server for other systems (Nutanix, Cohesity, etc.) to send system alert emails, it works as expected. I ended up switching to a different SMTP server in the organization and the email notifications are again working.