[CodeSnippet] Enviar cuando correo cuando el usuario use Internet Explorer 6 (IE6)

Internet Explorer 6, es una de esas piedritas por la que a veces uno tiene que pensar, ¿damos soporte para IE6 o no?, claro hablando de diseño.

En un proyecto actual para una intranet, hemos decidido no dar soporte para IE6, no estresarnos haciendo diseños web paralelos. IE6, fue lanzado allá por el 2001, y como que ya va siendo hora de ni siquiera mencionarlo cuando definamos los navegadores a soportar por nuestra web. [Extra]: Mató IE6 la marca Internet Explorer??.

Regresando al tema, no vamos a bloquear a los usuarios que ingresen con IE6, lo que vamos hacer es enviar un email a Soporte, para actualizar a los usuarios que aún están usando IE6.

   1:  

   2: public static void ValidarIExplore()

   3: {

   4:   if (HttpContext.Current.Request.Browser.Type.ToUpper() == "IE6")

   5:   {

   6:     String fromEmail = ConfigurationManager.AppSettings["emailAdmin"];

   7:     String toEmail = ConfigurationManager.AppSettings["emailSoporte"];

   8:     String subject = String.Format(

   9:           "[{0}], necesita actualizar internet explorer", 

  10:           HttpContext.Current.User.Identity.Name);

  11:     String message = String.Format(

  12:             @"Sres. de soporte, <br/> El usuario {0} necesita actualizar [...] ",

  13:             HttpContext.Current.User.Identity.Name);

  14:  

  15:     SendEmail(fromEmail, toEmail, subject, message);

  16:   }

  17: }

El método es sencillo, y como tengo una página base para todos mis formularios web, aplico lo siguiente:

   1:  

   2: public abstract class ReportPageBase : System.Web.UI.Page

   3: {

   4:   protected void Page_Load(object sender, EventArgs e)

   5:   {

   6:     //si no esta logueado reenviarlo

   7:     if (!User.Identity.IsAuthenticated) { Response.Redirect("~/login.aspx"); }

   8:  

   9:     //validar browser

  10:     Helper.ValidarIExplore();

  11:     

  12:     //other code

  13:   }

  14: }

Para enviar correos desde ASP.NET, consulte la siguiente entrada.

Saludos,

5 comentarios en “[CodeSnippet] Enviar cuando correo cuando el usuario use Internet Explorer 6 (IE6)”

  1. Bueno en ese tipo de casos, recomendaría hacer un versus del costo/beneficio:

    Dos indicadores:
    1. ¿Qué porcentaje de usuarios tienes aún con IE6?
    2. ¿En tus desarrollos que porcentaje del diseño total es hacer un diseño especial para IE6?

    Saludos,

  2. Hola Sergio:

    2 cositas que veo:

    – if (!User.Identity.IsAuthenticated) { Response.Redirect(“~/login.aspx”); } eso sobra sí tienes la autenticación por formularios habilitada en tu aplicación web y controlas el acceso a partes de tu web en el web.config

    – Cada vez que se carga cualquier página esta enviando el correo una y otra a soporte sí el usuario tiene IE6 instalado.

    Salu2

  3. Señor Ruiz tiene razón, se enviaría una y otra vez el correo. Qué mecanismo se tiene para enviarlo sólo una vez…??

    Mató IE6 la marca Internet Explorer, cuál es el enlace??.

    Gracias !!!

  4. @Luis, gracias, tienes razón en cuanto a la primera sentencia, puede ser innecesario cuando tienes una correcta configuración del web.config realiza esta tarea. En cuanto a la segunda sentencia, se podría hacer algo más elaborado para sólo hacer un envío al mes, se podría usar perfiles, tener un campo para saber si tiene IE6, tener un campo flag de enviado y otro para la cantidad de días desde la última solicitud. Por cierto, no es necesario que todas las páginas usen una página base, en mi caso sólo hice que las páginas de reportes usen esta página base, las demás no lo usan (login, default, menus, settings del usuario).

    @pregunton, se actualizo el enlace. Y para enviarlo una sola vez, como dije podrías usar tres variables de perfiles, para hacer validaciones antes de enviar el correo.

    Saludos,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *