smtpclient.send 终止 IIS 中的会话但不 Visual Studio 调试

smtpclient.send kills session in IIS but not Visual Studio debug

我的网站出现问题,发送电子邮件的调用正在终止用户的会话,但我不知道如何或为什么。

站点 运行s VB.NET 代码在 IIS 7.5 上托管的 aspx 页面中。当用户到达它调用 smtpclient.send 的位置时,它突然将他们踢出登录页面,不发送电子邮件,并且并不总是完成当时正在做的事情(例如创建记录)。它不会给他们一个错误,我也无法在日志中找到任何错误。但是,如果我 运行 从带有 Visual Studio 调试器的 Windows 7 桌面上访问该站点,那么一切 运行 都很完美。

我试过在同一台服务器上部署该站点的第二个副本,但它遇到了完全相同的问题。不幸的是,我无法轻松访问第二个 IIS 服务器以查看它是否是特定于我的服务器的设置。

这是一个多月前才开始出现的问题。在此之前,该网站是可靠的,很少出问题。

涉及的代码非常简单,但为了进行故障排除,我将其简化为基础代码。在调试和生产崩溃时仍然有效。

Dim mail As New MailMessage()

mail.From = New MailAddress("myemail@example.com")
mail.To.Add("myemail@example.com")
mail.Subject = "Subject Line test"
mail.Body = "This is the test body"

Dim smtp As New SmtpClient("mail.example.com")
smtp.Send(mail)

有没有人知道可能出了什么问题,或者我至少要如何才能获得错误代码?

通过从基本模板创建网站并仅添加 smtp 代码,我终于收到了一条错误消息,解释了发生了什么。这是由我们的邮件服务器上的不相关问题引起的异常。当发生异常时,将捕获此错误并尝试通过调用原始发送电子邮件功能将错误日志通过电子邮件发送给管理员。