smtp.Send()问题

时间:2010-04-28 13:58:25

标签: c# asp.net email smtp

我在ASP.NET 3.5和C#中构建Web应用程序。我的项目中有一个方法可以向用户发送电子邮件。但由于某种原因,smtp发送方法需要3到4秒才能执行:

 SmtpClient smtp = new SmtpClient();
 smtp.Send(msg);-----> This is the line of code which takes 3 to 4 seconds to execute

这种延迟背后的原因是什么?

3 个答案:

答案 0 :(得分:1)

您始终可以使用.SendAsync()方法。这样,它将发送smtp请求,不会等待它的响应!如果你不需要.Send()方法的bool输出,问题就解决了! =)

答案 1 :(得分:0)

send方法正在调用您的电子邮件服务器以对邮件进行排队。网络延迟和邮件服务器的性能将影响这需要多长时间。这就是为什么许多应用程序在后台线程上或通过某种内部可靠的工作队列机制来做这种事情的原因。

答案 2 :(得分:0)

SMTP服务器与本地计算机之间的连接可能不佳。