電子メールを継続的に送信するASP.Netメール配信アプリケーションを作成しました。この現象は、マシンを再起動しても保持されます。System.Timers.Timerにリンクされたメソッドが電子メールを繰り返し送信する問題
私が使用していたコードは以下の通りです:
public void SendScheduleMail()
{
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Interval =20000;
myTimer.AutoReset = true;
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled = true;
}
public void myTimer_Elapsed(object source, System.Timers.ElapsedEventArgs e)
{
SmtpClient smtp = new SmtpClient("smtp.xxx.com", 587);
MailMessage message = new MailMessage();
//password required////////////////////
smtp.Credentials = new System.Net.NetworkCredential(tb_uname.Text, tb_pass.Text);
message.From = new MailAddress("my email ID");
message.To.Add(new MailAddress(tb_to.Text));
message.CC.Add(tb_cc.Text);
message.Bcc.Add(tb_bcc.Text);
message.Subject = tb_sub.Text;
message.Body = tb_body.Text;
message.IsBodyHtml = false;
smtp.EnableSsl = true;
smtp.Send(message);
}
umm ...なぜタイマーですか? –
いつ停止する必要がありますか? – robasta
誰がSendScheduleMailを呼び出していますか?また、あなたはどこにでもあなたのタイマーを持っていないので、あなたが方法を去る頃には消えていなければなりません - 実際に、あなたは明示的にそれを廃棄しています。あなたは何を達成しようとしていますか? – dash