我在 MSDN 文档上阅读了这个,这似乎暗示在我的代码中调用 SendAsync 方法后我仍然需要等待,该方法粘贴在下面。这是正确的吗? 如果是,那我还不如直接使用Send的同步方法,而不是SendAsync。我的目标是转到循环中的下一封电子邮件并发送它,而无需等待上一封电子邮件被发送,这将使我能够比使用 Send 方法更快地处理 emailMessages 集合。但这似乎不是真的。
调用 SendAsync 后,您必须等待电子邮件传输完成,然后再尝试使用 Send 或 SendAsync 发送另一封电子邮件。
我正在使用 C# 和 .Net 框架 4.5。在我的代码中,我尝试使用 SendAsync 方法从循环中发送多封电子邮件,如下面的代码所示。
List<EmailMessage> emailMessages = DAL.GetEmailsToBeSent();
SmtpClient client = new SmtpClient();
foreach(EmailMessage emailMessage in emailMessages)
{
//create a message object from emailMessage object and then send it asynchronously
client.SendAsync(message);
//client.Send(message);
}