我想使用SMTP服务器发送电子邮件,但是在一定时间内。 是否有可能设置一些选项,以便它在SMTP服务器上的队列中,直到特定的时间和日期?
想法是避免在DB
中使用Windows服务或额外表MailMessage message = new MailMessage("no-reply@tttt.com", "xxxx@gmail.com");
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = "Publishing Notification";
message.Body = "tes";
message.DeliveryNotificationOptions = DeliveryNotificationOptions.Delay;
SmtpClient client = new SmtpClient("xxxx", Int32.Parse("25"));
client.Send(message);
答案 0 :(得分:1)
在给定时间执行某些操作是一个容易出现的问题,假设您有一个进程来托管它。但似乎你的客户拒绝到达那里。以下是两种方法:
Quartz.NET是一个很棒的库,我们经常使用它,但你仍然需要一个不断运行的服务来执行那里的计划任务。所以,如果你可以在你的网络应用程序上搭载它,Quartz会工作,但如果没有,那么你就会考虑编写服务。从那里你最好只是把它作为一个预定的任务,因为没有理由这是一个服务而不是安排。