我已經瀏覽了本網站中某些在特定日期自動發送郵件的答案。自動發送電子郵件在asp.net約會前一小時發送
我正在使用VS 2010,並且我創建了一個未託管的項目。
我創建了一個約會表,其中包含電子郵件ID,開始日期和開始時間。
郵件應該在約會前一小時自動發送到人的電子郵件ID。
我該怎麼做?
我試過使用窗口服務,但沒有爲我工作。
protected override void OnStart(string[] args)
{
string dateonly = DateTime.Now.ToString("yyyy-MM-dd");
string timeonly = DateTime.Now.ToString("HH:mm tt");
string source = "Data Source=localhost;Initial Catalog=PRO;Integrated Security=SSPI;";
SqlConnection con = new SqlConnection(source);
con.Open();
SqlCommand cmd = new SqlCommand("select * from Appointments where CONVERT(varchar(10),StartDate,101)=CONVERT(varchar(10),GETDATE(),101)", con);
cmd.Parameters.AddWithValue("@date", dateonly);
cmd.Parameters.AddWithValue("@time", timeonly);
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds); //Filling table with user data
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = "smtp.gmail.com";
client.Port = 587; //Google mail port
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("email", "password");
client.UseDefaultCredentials = false;
client.Credentials = credentials;
for each (Data Row Dr in ds.Tables[0].Rows)
{
MailMessage mm = new MailMessage();
mm.To.Add(dr["Email"].ToString());
mm.From = new MailAddress("email");
mm.Subject = "Sending Auto Mail ";
mm.Body = "This email has been send automatically through Windows Service to remind you about your Appointment in next one hour ";
client.Send(mm);
mm.Dispose();
}
}
protected override void OnStop()
{
}
請分享您的嘗試代碼。 – BartoszKP
我已經添加了我嘗試在windows服務中onstart()事件的代碼。 – user2691425
很好,現在請解釋一下你的意思是「它沒有工作」。準確地描述發生了什麼事。例如,您是否嘗試調試代碼? – BartoszKP