是否应该为每条消息创建(和处置)SmtpClient?

Should SmtpClient be created (and disposed) per message?

就 creating/disposing 对象而言,使用 SmtpClient 的正确方法是什么。我每封邮件有一个 SmtpClient,但如果我想发送多封电子邮件,则不确定这是否正确。也许更多的是 efficient/proper 创建客户端,发送多条消息然后处理?

public void SendMail(MailMessage mail)
{
    using (var smtpClient = new SmtpClient())
    {
        smtpClient.Send(mail);
    }
}

查看 SmtpClient 的源代码,它似乎是为打开多个连接而构建的。在我看来,使用它在紧密循环中发送多条消息似乎不是问题(不要让对象存活数小时,准备好发送后立即处理它)。

创建和处置对象可能会对您的性能产​​生负面影响,因此最好不要创建大量对象。