none
Enviar email con contenido HTML RRS feed

  • Pregunta

  • hola:

    Tengo una consulta, tengo una funcionalidad para enviar emails masivos a todos los usuarios de mi aplicación,

    para crear le mensaje utilizo el script tiny_mce.js para el rich text area en la vista, en el formulario donde se crea el mensaje, adjunto al email envio unas imagenes como cabecera y pie,

    los mensajes se  envian correctamente, las imagenes se pueden visualizar bien, el problema es que el texto generado por el richtextbox no es interpretado y se ven todas las etiquetas, este es le mensaje:

    <p>Se&ntilde;or usuario:</p> <p>Actualmente todos nuestros espacios son gratuitos, lo unico que necesita hacer es crear su anuncio y solicitar que sea publicado.</p> <p><strong><span style="color: #ff0000;">Aproveche la oportunidad!!!</span></strong></p>

    El código que utilizo es este:

     public string EnviarMensajeMasivo(MensajeMasivo datos)
            {
                try
                {
                    
                    string cuerpoDeMensaje = "<html><head><title></title></head><body><img src=\"" + HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) +
                        "/Content/Imagenes/CabeceraMensajeMasivo.jpg\" /><p style=\"text-align:center\"><br />" + datos.TextoMensaje +
                       
                        "<a href=\"" + HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Contacto/ContactarAdministracion" + "\">Contactar administración</a></p><br /> <br /><img src=\"" + HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Content/Imagenes/MasivoPie.jpg\" />" + "</body></html>";
    
                    
                    var mensaje = new MailMessage("admin@midominio.com", datos.EmailDestinatario)
                    {
                        Subject = datos.TituloMensaje,
                        Body = cuerpoDeMensaje,
                        IsBodyHtml = true
                    };
                    var cliente = new SmtpClient();
                    cliente.Credentials = new System.Net.NetworkCredential("admin@midominio.com", "******");
                    cliente.Send(mensaje);
                    return datos.EmailDestinatario + ": enviado";
                }
                catch (Exception e)
                {
                    return "Email: " + datos.EmailDestinatario + ": " + e.Message + " InnerException: " + e.InnerException;
                }
            }

    ¿Alguien podría darme una mano con esto?

    Gracias de antemano.

    Saludos cordiales


    • Editado Richof miércoles, 20 de noviembre de 2013 17:45
    miércoles, 20 de noviembre de 2013 17:43

Todas las respuestas

  • el problema es que el texto generado por el richtextbox no es interpretado y se ven todas las etiquetas, este es le mensaje:

    el tema es que el richtextbox no genera html, sino que tiene su propio formato

    deberias suar un editor que use html para dar formato al texto, como ser

    http://ckeditor.com/

    http://richtexteditor.com/

    y muchos otros

    pero tiene que generar html para el formato y no codigo richtextbox del que genera el componente winforms, sino se debera buscar algun conversor

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 20 de noviembre de 2013 17:58