2011-09-22 20 views
7

En mi aplicación MVC 3 Razor, un método ActionResult Create() en el controlador maneja un usuario HttpPost. En ese punto:¿Cómo puedo enviar correos electrónicos de forma asíncrona desde una aplicación MVC 3?

  1. Los datos se guardan en una base de datos.
  2. Los correos electrónicos se envían a las partes interesadas utilizando otro proyecto en la solución.
  3. Se devuelve una página de confirmación al usuario.

Desde enviando un correo electrónico es la actividad que consume más tiempo, Estoy intentando utilizar SmtpClient.SendAsync(), en lugar de SmtpClient(). Enviar.

¿Es posible este escenario si la herencia proviene de AsyncController? ¿Alguien puede dar un ejemplo?

Gracias,

Arnold

Respuesta

9

Usted debería salir MVC Mailer. Muy buena herramienta para crear correos electrónicos con vistas de maquinillas de afeitar. Tiene una opción para enviar correos de forma asíncrona. El anuncio publicitario de MVC también está disponible en nuget.

+0

+1 ya que tienen algunos documentos excelentes (especialmente la parte de prueba de unidad) –

+0

Hola Robin, gracias por la idea. Voy a verificarlo. – Arnold

+0

Acabo de toparme con MvcMailer, y WOW ... esas cosas deberían haberse incorporado a MVC3, en lugar de los métodos de ayuda de WebMail que simplemente recrean SmtpClient como una clase estática. ¡Felicitaciones por MvcMailer! +1 para esta recomendación. –

Cuestiones relacionadas