I have the following code:
public static void Send(this MailMessage email)
{
if (!isInitialized)
Initialize(false);
//smtpClient.SendAsync(email, "");
email.IsBodyHtml = true;
Thread mailThread = new Thread(new ParameterizedThreadStart(
(o) =>
{
var m = o as MailMessage;
SmtpClient client= new SmtpClient("smtpserveraddress");
client.Send(m);
}));
mailThread.Start(email);
I want the mail sending to be done in the background without interfering with the main thread. I do not care when it is finished.
Do I need to somehow handle the dispose of the created thread (mailThread)? Or does it automatically dispose when it finishes its job?
Please do not recommend the SendAsync method. I would like to create the thread manually. Mail.Send was only an example scenario.
Thank you.
NO!
there is no need to dispose the Thread object (BTW, the Thread class does not provide the Dispose method).