2009-01-20 3 views

Répondre

21

Une méthode plus à jour serait d'utiliser System.Net.Mail - ceci est le remplacement 2.0 pour System.Web.Mail.

Quelque chose comme cela, appelé à partir d'un BaseController (s'il y a d'autres contrôleurs qui en ont besoin) le contrôleur en question.

je le code suivant dans une classe statique pour manipuler des éléments de texte simple simple envoi du serveur:

internal static void SendEmail(MailAddress fromAddress, MailAddress toAddress, string subject, string body) 
{ 
    var message = new MailMessage(fromAddress, toAddress) 
         { 
          Subject = subject, 
          Body = body 
         }; 

    var client = new SmtpClient("smtpServerName"); 
    client.Send(message); 
} 

De toute évidence, vous voudrez probablement une gestion des erreurs etc là-dedans - Envoyer peut jeter une exception par exemple si le serveur refuse des connexions.

3

Créez un BaseController à partir duquel tous vos autres contrôleurs héritent. Dans BaseController, remplacez la méthode OnActionExecuted et insérez votre code pour l'envoi de l'e-mail.

public class BaseController : Controller 
{ 
    protected override void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
     // Send mail here 
     base.OnActionExecuted(filterContext); 
    } 
} 
1

Eh bien, ce n'est pas vraiment difficile d'envoyer un courriel avec .NET. Vous pouvez simplement envoyer le mail depuis votre action. Mais, je pense que nous parlons peu de la journalisation ici, et pour la journalisation, il y a une gamme de bibliothèques 3ème partie. Je sais qu'il y en a un appelé Log4Net.

La plupart de ces cadres de journalisation permettent de configurer la manière dont les journaux sont stockés, et pusiblement également un paramètre pour envoyer un courrier électronique, lorsqu'il enregistre quelque chose. Mais dans votre scénario, il suffit d'écrire une simple fonction de courrier simple, qui envoie le courrier, lorsque l'utilisateur entre dans l'action. Vous pouvez regarder: http://www.developer.com/net/asp/article.php/3096831 - c'est une démo d'envoyer un mail en utilisant. NET - webforms mais, les choses de base s'appliquent encore à MVC.

2

La SmtpClient classe avec les autres System.Net.Mail cours sont facilement utilisés de tout programme .NET pour envoyer du courrier. Vous avez juste besoin de le pointer vers un serveur SMTP disponible et disposé.

Questions connexes