2010-07-06 42 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檢查到期的任務(比如每隔一分鐘),並採取一些行動(如發送電子郵件),當任務的到期日期小於當前日期並且任務未被通知時。

所以你將不得不在你的任務中有一個截止日期屬性,並有一點表明它是否已被通知。 每分鐘,您都會運行代碼,查找截止日期小於或等於當前日期的任務,併爲每個人發送通知電子郵件。然後,您將任務標記爲已通知。

問候。