2010-03-22 2 views
1

Dans mon système a la fonction d'envoyer une notification par e-mail pour avertir un autre département que le contrat est presque expiré.Envoyer une notification par e-mail: projet MVC

A toute suggestion pour envoyer l'e-mail via mon projet mvc, j'essaie d'utiliser System.web.mail mais smtp pas accepter. Dois-je préparer quelque chose pour envoyer un courriel?

Merci de votre suggestion.

+0

Vous devez utiliser '' System.Net.Mail' depuis System.Web.Mail' est obsolète. – Steven

Répondre

0

Si vous avez un serveur SMTP disponible, vous pouvez utiliser le client SMTP qui fait partie de l'infrastructure .net.

Vous pouvez configurer un démon dans la méthode Application_Start de Global.asax.cs qui peut vérifier tous les jours les contrats expirés, puis envoyer des courriers électroniques SMTP concernant les contrats qui arrivent à expiration.

Quelque chose comme cela pourrait être approprié:

// this is System.Threading.Timer 
_timer = new Timer(x => 
        { 
         var listOfExpiringContracts = GetContractsThatAreAboutToExpire(); 
         if (listOfExpiringContracts.Count > 0) 
         { 
          SendEmailToOtherDepartmentRegardingContractsThatAreAboutToExpire(listOfExpiringContracts); 
         } 
        }, null, GetNextTimeToCheckForExpiringContracts().Subtract(DateTime.Now), TimeSpan.FromDays(1)); 
0

Un contrat expirant sera fonction du temps et non d'une requête HTTP.

Ceci devrait être géré en dehors de l'application MVC (bien qu'il devrait presque certainement réutiliser les classes sur lesquelles le modèle est construit).

Questions connexes