私は次のコードを持っています:
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);
メインスレッドに干渉することなく、バックグラウンドでメール送信を行いたい。いつ終わってもかまいません。
作成されたスレッド(mailThread)の破棄をなんとかして処理する必要がありますか?それとも、仕事が終わったときに自動的に処分しますか?
SendAsyncメソッドはお勧めしません。手動でスレッドを作成したいのですが。Mail.Sendは単なるシナリオ例です。
ありがとうございました。