为什么不能使用相同的SmtpClient实例异步发送多个电子邮件?

时间:2009-11-20 21:15:21

标签: c# smtpclient system.net.mail sendasync

它在锡上的内容。

2 个答案:

答案 0 :(得分:7)

根据SmtpClient上的MSDN page,SendAsync的唯一目的是允许当前线程继续处理,而不是等待传输进行处理。 SendAsync的目的不是允许您一次发送多条消息,而是允许您在发送消息时继续处理。 SendAsync和Send都使用相同的管道,SendAsync只允许您在发送消息时执行其他操作。

答案 1 :(得分:3)

根据MSDN

  

调用SendAsync后,您必须等待   用于电子邮件传输   在尝试发送之前完成   另一封使用Send或发送电子邮件的邮件   SendAsync。

因此,您可以重复使用相同的实例,但必须等待发送第一封邮件。