我有带PostgreSQL数据库的Windows服务器。我在数据库中存储了员工数据,包括合同到期日。 我想在到期日前30天为每位员工发送一封自动电子邮件。 (每位员工都有一个电子邮件帐户)。 最好的方法是什么? 我想做以下事情,请你告诉我这是否是最好的方式,如果,我需要回答问题:
每天访问PostgreSQL(我知道如何处理Postgresql,但是how to make it per each new day (schedule task?)
?)
将机器日期与数据库中的所有到期日期进行比较
how to send emails using C#
} 答案 0 :(得分:5)
AS @Middas建议,编写一个简单的控制台应用程序将负责在应用程序之外进行调度。
一个简单的控制台应用程序是可以的,由Windows Scheduler或第三方调度程序安排。
要发送电子邮件,您可以
答案 1 :(得分:3)
答案 2 :(得分:1)
创建.Net控制台应用程序并不容易,该应用程序向DB发出查询,该应用程序将合同到期的所有员工记录在30天内到期。 使用Windows Scheduler安排在每天的特定时间运行。
现在要用C#发送电子邮件,请尝试使用以下代码。
MailMessage mailObj = new MailMessage(strFrom, strTo, strSubject, strBody);
SmtpClient SMTPObj = new SmtpClient(IPAddress,port);
try
{
SMTPObj.Send(mailObj);
}
catch (Exception ex)
{
//Handle Exception
}
希望有所帮助 米林德
答案 3 :(得分:0)
我会按照您的建议使用Windows服务。将服务定时器设置为30个seonds,然后检查时间是否在00:00:00到00:00:00之间,发送您的电子邮件。这意味着您无需在需要时尝试将elapsed
事件计时。