2

我们有一些 C# 代码在下订单或更改密码等时向用户发送电子邮件。此代码在生产服务器上运行速度很快,但在我们的本地桌面上运行时非常慢。生产服务器将在 5 秒内发送一封电子邮件,但开发机器需要 5 分钟。开发机器和生产服务器使用我们网络本地的同一个 smtp 服务器。IIS 或 Exchange 中是否有任何设置可能会在一个环境中导致这样的延迟,但在另一个类似的环境中不会?桌面运行的是 windows 7,网络服务器运行的是 windows webserver 2008,Exchange 服务器是运行在 Microsoft SBS 2011 上的 2010。

4

2 回答 2

4

您的开发机器上是否安装了 Symantec(或其他防病毒/电子邮件保护)软件?在发送电子邮件时,我们遇到了类似的问题,即 SMTP 流量被停止或终止。生产服务器通常已经为此流量内置了异常,因此没有延迟。

于 2013-06-25T03:12:23.313 回答
0

通过某些 smtp 客户端发送电子邮件时,我遇到了类似的问题。虽然这可能不是您正在查看的确切解决方案,但您可以将 sendmail 方法视为“非阻塞任务”(使用 TPL)并让底层线程负责此执行。同时,您的其余代码可以照常执行。这样,。即使 sendmail 需要几秒钟,您的代码的其他部分也不必等待它。

于 2013-10-09T15:08:13.193 回答