我刚刚将一个网站从一台带有IIS6内置到.NET 3.5的Windows 2003服务器“升级”到一台Windows 2012服务器,并将IIS7重新构建到.NET 4.5。
代码不变。它使用System.Net.Mail.MailMessage
并连接到远程服务器以通过该服务器的SMTP发送。因为它发送到远程服务器,本地SMTP服务与两台计算机的防火墙无关(我在禁用了两个防火墙的情况下尝试了它)。
问题是网络应用程序不再发送电子邮件。当提交发送电子邮件的页面时,它需要几分钟的回发时间(在它或多或少是瞬时之前)并且MailMessage.Send()
方法不会返回错误。就好像电子邮件已被发送,虽然速度很慢,但它没有,因为它永远不会到来。
我怀疑是IIS7设置还是.NET 3.5和4.5之间的区别。
有人有什么想法吗?