Lately I have been experiencing issues with running SMTP on ASP.NET 1.1 on a Windows Server specifically the Standard edition. It was a trivial issue and very difficult to trace. The problem would appear in just a day and sometimes will disappear for weeks. The issue has been attributed to a Winsock crash (ASP.NET informs this through the error page). I have not found I have not found any blogs that tackle this issue so I hope this post will help others.
This issues are posted by me in StackOverflow and ServerFault :
The server specifications are below and my notes on the issue:
Windows Server Standard on SP2
IIS 7 with ASP.NET 1.1
IIS 6 for SMTP
The server hosts many websites running ASP.NET 1.1. These websites use the built in SMTP server on IIS6.
The SMTP works fine for a while but after a few weeks or months, It will stop sending emails. I tried sending one via Telnet it seems fine so the SMTP server is not the issue.
I tried restarting the Application Pools but it had not effect whatsoever. I also tried restarting IIS 7.0 and IIS 6.0 it still will not send messages.
The only temporary way we found to fix this was to restart the server.
Is there an ASP.NET cache that we can clear or is causing this issue?
UPDATE:
Got the fix!
It was a hunch but I restarted the Print Spooler and DNS Client services in the server and now emails are sent successfully.
But I still do now know why this happens for ASP.NET 1.1 projects.
UPDATE 2:
Issue appeared again today! I got lucky I thought I had to wait weeks to test it again.
I started by restarting the DNS Client service. No effect still cannot send emails. I then restarted the Print Spooler service and to my surprise it was the culprit! ?????????
How is this even, what, why? huh?
I disabled the Print Spooler permanently. Email still works. I do not think we print anything or if the Print Spooler does any other tasks other than printing.
If it does do anything please comment below.
UPDATE 3:
The fix was temporary. I found out today that WINSOCK refused connections from ASP.NET but accepted connections via telnet mail.
Still trying to find out why this is happening.
UPDATE 4:
Well finally made a reboot with the WINSOCK corruption fixes applied. Hope this holds forever and the bug does not reappear.
FINAL UPDATE:
After a few weeks of debugging and fix finding the only workaround for this would be to either reboot the server regularly, move to System.Net.Mail instead of System.Web.Mail or use Microsoft SQL Server DBMail.
The Intel D5400XS can support 8 cores and is based on a Xeon supporting motherboard, Intel’s Xeon supporting motherboards are the best there is when it comes to reliability, as an example, Xeon class motherboards are used by IBM in its servers. I as a Systems Administrator have dealt with IBM Servers, they are very reliable and can be left on for months without slowing down and in my experience as an Intel user I too know how Intel boards are well built. My previous computer has Pentium 3 motherboard D815EEA2, it lasted me 5 years formatting only twice in that span. Dual booting with Windows 98 and Windows XP, it ran for at least 5-8 hours a days because my sister also uses it in the evening for her school assignments and other online activities, plus I leave it running to do downloads and uploads. I do not even hesitate or get scared in updating Intel’s motherboard BIOS, it’s just that reliable. It was the opposite back then when I still had a motherboard with a VIA chipset running S3… >_<