私のクラスには、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 はどのように破棄されますか?