我刚刚将一个网站从一台Windows 2003服务器“升级”,其中IIS6内置到.NET 3.5,再到Windows 2012服务器,IIS7重新构建到.NET 4.5 .

代码没有变化 . 它使用 System.Net.Mail.MailMessage 并连接到远程服务器以通过该服务器的SMTP发送 . 因为它发送到远程服务器本地SMTP服务与两台机器的防火墙一样无关紧要(我尝试禁用两个防火墙) .

问题是Web应用程序不再发送电子邮件 . 当提交发送电子邮件的页面时,它需要几分钟的回发(在它或多或少瞬间之前)并且 MailMessage.Send() 方法不会返回错误 . 就好像电子邮件已经发送一样,虽然速度很慢,但它没有,因为它永远不会到来 .

我怀疑IIS7设置或.NET 3.5和4.5之间的差异 .

有人有主意吗?