2009-01-20 13 views

Odpowiedz

21

Bardziej aktualną metodą byłoby użycie System.Net.Mail - jest to zastępstwo 2.0 dla System.Web.Mail.

Coś takiego, wywoływane z poziomu kontrolera BaseController (jeśli istnieją inne kontrolery, które tego wymagają), aktualny kontroler, o którym mowa.

Mam następujący kod wewnątrz klasy statycznej do obsługi korespondencji prostych przedmiotów Zwykły tekst z serwera:

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); 
} 

Oczywiście, to prawdopodobnie chcesz jakiś błąd obsługi itp tam - Wysyłanie może rzucić wyjątek na przykład, jeśli serwer odmawia połączeń.

3

Utwórz kontroler BaseController, z którego dziedziczą wszystkie pozostałe kontrolery. W BaseController zastąpić metodę OnActionExecuted i wstaw swój kod do wysyłania wiadomości e-mail.

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

To naprawdę nie jest tak trudno wysyłać wiadomości e-mail przy użyciu .NET. Możesz po prostu wysłać wiadomość z poziomu swojej akcji.

Ale myślę, że niewiele rozmawiamy o rejestrowaniu tutaj, a do logowania jest gama 3-tych bibliotek partyjnych. Wiem, że jest jeden o nazwie Log4Net.

Większość tych frameworków do rejestrowania umożliwia konfigurowanie sposobu przechowywania dzienników, a także ustawienie wysyłania wiadomości e-mail, gdy coś loguje.

Ale w twoim scenariuszu wystarczyłaby napisać zwykłą prostą funkcję pocztową, która wysyła wiadomość, gdy użytkownik wprowadzi akcję. Możesz spojrzeć na: http://www.developer.com/net/asp/article.php/3096831 - jest to demo wysyłania poczty za pomocą .NET - formularzy internetowych, ale podstawowe rzeczy wciąż mają zastosowanie do MVC.