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

时间:2016-02-23 08:48:17

标签: c# .net email smtp smtpclient

在创建/部署对象方面使用SmtpClient的正确方法是什么。我每条消息有一个SmtpClient,但如果我想发送多封电子邮件,则不确定这是否正确。也许它更有效/正确地创建客户端,发送多条消息然后处置?

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

1 个答案:

答案 0 :(得分:2)

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

创建和处理对象可能会对您的性能产​​生负面影响,因此这不是创建大量对象的理由。