2009-01-20 15 views

Respuesta

21

Un método más actualizado sería usar System.Net.Mail - este es el reemplazo 2.0 para System.Web.Mail.

Algo así, llamado desde un controlador de base (si hay otros controladores que lo necesitan) el controlador real en cuestión.

tengo el siguiente código dentro de una clase estática para manejar correo de artículos de texto sin formato sencillo desde el servidor:

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

Obviamente, usted probablemente querrá un poco de manipulación, etc. allí error - Enviar puede generar una excepción por ejemplo, si el servidor rechaza las conexiones.

3

Crea un BaseController del que heredan todos tus otros controladores. En BaseController anula el método OnActionExecuted e inserta tu código para enviar el correo electrónico.

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

Bueno, no es realmente difícil enviar un correo electrónico usando .NET. Puede enviar el correo desde su acción.

Pero, creo que hablamos poco sobre la posibilidad de iniciar sesión aquí, y para iniciar sesión hay una variedad de bibliotecas de terceros. Sé que hay uno llamado Log4Net.

La mayoría de estos marcos de registro permiten configurar cómo se almacenan los registros y, por supuesto, también una configuración para enviar un correo electrónico, cuando registra algo.

Pero en su situación, simplemente escribiría una simple función de correo simple, que envía el correo, cuando el usuario ingresa la acción. Puede ver: http://www.developer.com/net/asp/article.php/3096831 - es una demostración de envío de correo usando .NET - webforms, pero las cosas básicas aún se aplican a MVC.

2

La Clase SmtpClient con las otras clases System.Net.Mail se utilizan fácilmente desde cualquier programa .NET para enviar correo. Solo necesita apuntarlo a un servidor SMTP disponible y dispuesto.

Cuestiones relacionadas