2010-07-06 41 views
0

我使用如何制作Google日历等电子邮件通知程序?

  • asp.net的MVC 2.0
  • C#
  • .NET 4.0
  • 的MS SQL Server 2005
  • IIS 7.0

我想打一个电子邮件notifier系统就像很多网站都有google一样。我希望用户能够设置提醒日期,并在该日期被打到时发送电子邮件给他们。

我不知道如何做到这一点。

我听说过的几种方法,但还没有找到如何做他们的任何教程。

  • Windows计划
  • 通过MS SQL Server的(认为SQL Server代理?)

与Windows调度,我不认为它会在共享的托管环境中工作。我宁愿如果它有,但如果有很大的差异,那么我可以忍受这种能力。

我也希望在不久的将来支持SMS消息,因此解决方案应该能够扩大与以及如果可能的工作。

+2

太宽以适合一个答案? – Humberto 2010-07-06 03:51:03

回答

1

blog post提出了一个非常有效的(虽然有点“哈克”)解决您的问题,将在共享主机环境中工作。这是在StackOverflow的使用杰夫分配徽章给用户(如果这样仍然使用它,虽然我不知道)。

的代码实际发送的电子邮件,你应该看看在互联网,因为有关于如何做到这一点无尽的代码示例。一个可能的答案可能是:

public void SendEmail() 
    { 
     MailMessage loMsg = new MailMessage(); 

     loMsg.From = new MailAddress("[email protected]"); 
     loMsg.To.Add(new MailAddress("[email protected]")); 
     loMsg.Subject = "Subject"; 
     loMsg.Body = "Email Body"; 


     var smtp = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 587, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      UseDefaultCredentials = false, 
      Credentials = new System.Net.NetworkCredential("username", "password") 
     }; 

     smtp.Send(loMsg); 
     } 

看一看,看看是否有帮助

0

@ chobo2,您可以使用quartz.net检查到期的任务(比如每隔一分钟),并采取一些行动(如发送电子邮件),当任务的到期日期小于当前日期并且任务未被通知时。

所以你将不得不在你的任务中有一个截止日期属性,并有一点表明它是否已被通知。 每分钟,您都会运行代码,查找截止日期小于或等于当前日期的任务,并为每个人发送通知电子邮件。然后,您将任务标记为已通知。

问候。