Cuando uso SendAsync de SmtpClient para enviar correos electrónicos, ¿cómo puedo eliminar la instancia smtpclient
correctamente?¿Desechar SmtpClient en SendComplete?
Digamos:
MailMessage mail = new System.Net.Mail.MailMessage()
{
Body = MailBody.ToString(),
IsBodyHtml = true,
From = new MailAddress(FromEmail, FromEmailTitle),
Subject = MailSubject
};
mail.To.Add(new MailAddress(i.Email, ""));
SmtpClient sc = new SmtpClient(SmtpServerAddress);
//Add SendAsyncCallback to SendCompleted
sc.SendCompleted += new SendCompletedEventHandler(SendAsyncCallback);
//using SmtpClient to make async send (Should I pass sc or mail into SendAsyncCallback?)
sc.SendAsync(mail, sc);
En el método SendAsyncCallback
, debería llamar sc.Dispose()
, o mail.Dispose()
?
Comprobé el documento de MSDN, un ejemplo llama a MailMessage.Dispose(), pero ¿dispondrá este método también de la instancia SmtpClient
?
Muchas gracias.