0
我想用用戶的郵件填寫一個隊列,在一段時間後向他們發送確認郵件,所以每次用戶填寫他的註冊表單時,我都會添加他在訂購後約一分鐘發送郵件給他們,這裏的隊列是我的代碼關於在ASP.net中加載頁面時清除隊列
public static class Gmail
{
private static int ? date;
public static bool SendMail(string AdminMail,string AdminPassword,string subject,string toAddress, string content,DateTime SendTime)
{
var toAddressList = new Queue<string>();
toAddressList.Enqueue(toAddress);
if(date==null)
{
date = DateTime.Now.Second;
}
if (date-SendTime.Second > 120)
{
var message = new MailMessage
{
From = new MailAddress(AdminMail)
};
foreach (var toAddressl in toAddressList)
{
message.To.Add(new MailAddress(toAddressl));
}
message.Subject = subject;
message.Body = content;
message.IsBodyHtml = true;
var smtp = new SmtpClient
{
Credentials = new System.Net.NetworkCredential(AdminMail, AdminPassword),
Port = 587,
Host = "smtp.gmail.com",
EnableSsl = true
};
smtp.Send(message);
//date = SendTime;
return true;
}
return false;
}
}
,但實際上發生的事情是隊列從零每一次啓動,因此,它只是填充的郵件當前註冊用戶,並且從不包含我希望它們存在的先前註冊用戶的郵件,因爲我將發送郵件給隊列中存在的所有郵件。所以我想知道如何防止隊列在頁面加載時被清除。有任何想法嗎??
關於健壯的設計和靜態領域,你是完全正確的:) – Islam