0

我在课堂上有一个使用 SmtpClient 发送电子邮件的功能。

public void Send(System.Net.Mail.MailMessage mail)
    {      
        using (SmtpClient client = new SmtpClient())
        {                
            client.Host = ConfigReader.SmtpHost;
            client.Port = ConfigReader.SmtpPort;
            client.EnableSsl = ConfigReader.SmtpEnableSsl;
            client.UseDefaultCredentials = ConfigReader.SmtpDefaultCredentials;
            client.Credentials = new NetworkCredential(ConfigReader.SmtpUserName, ConfigReader.SmtpPassword);

            client.Send(mail);
        }            
    }

我需要在这个函数中使用另一个类来设置 Smtp 配置。但是每次调用这个函数时设置配置似乎并不正确。

有什么更好的方法呢?如果我在其他一些 Init 函数中加载配置,只调用一次,那么在这种情况下 SmtpClient 将如何处理?

4

1 回答 1

0

您在SmtpClient本地创建对象,并且在using声明中更多地创建对象,因为该对象超出了您的函数范围。每次创建对象时都必须配置对象。

于 2013-01-16T13:31:20.967 回答