如何使用 ASP.NET、C#、Webforms 在每天上午 11 点自动发送电子邮件?
我正在单击按钮发送邮件。我的要求是每天上午11点自动发送邮件。使用 C# 代码可以吗?
protected void SendEmail(object sender, EventArgs e)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
gv_TotalAllReg.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
MailMessage mm = new MailMessage("techhelp@xyz.com", "xyz@xyz.com,xyz1@xyz.com");
mm.Subject = "Daily Report";
mm.Body = "Dear Customer, <br><br>Applications received as on: " + ViewState["date"] + ".<hr />" + sw.ToString() + "<br/>Thanks,<br>Support Team.";
mm.IsBodyHtml = true;
mm.CC.Add("my@no.com");
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "no@gmail.com";
NetworkCred.Password = "n0";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
lbl_msg.Visible = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
下面是我的按钮代码。
<asp:Button ID="btnSendEmail" runat="server" Text="Send email" OnClick="SendEmail" class="btn btn-md btn-danger pull-right" />
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时,gridview 数据将发送到电子邮件。但我正在尝试像下面的概念。
If(time==11am)
{
//send mail
}
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,但得到了 Windows 服务相关的示例,但我没有得到这种类型的概念。还有其他办法吗。
您必须使用作业调度程序库。
您将能够在特定时间安排工作。
有了hangfire,它会是这样的:
BackgroundJob.Schedule(
() => SendMail(),
new DateTime(2017, 27, 03, 11, 00, 00));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11850 次 |
| 最近记录: |