Aar*_*ari 34 c# multithreading smtpclient
我有以下代码:
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);
Run Code Online (Sandbox Code Playgroud)
我希望邮件发送在后台完成而不会干扰主线程.它完蛋后我不在乎.
我是否需要以某种方式处理已创建线程(mailThread)的处理?或者它在完成工作后会自动处理?
请不要推荐SendAsync方法.我想手动创建线程.Mail.Send只是一个示例场景.
谢谢.
当程序结束时,线程被放弃.
所以不,你不必这样做,没有必要(也许我不认为).