none
enviar imagen en cuerpo de correo con richtextbox RRS feed

  • Pregunta

  • buenas tardes compañeros tengo un RichTextBox el cual relleno de informacion y le doy formato(negritas,cursiva etc) por medio d en una función donde leo el contenido de el RichTextBox y lo convierto a html el problema viene ala hora de agregar imagenes en el cuerpo de correo alguien me podria dar una idea de como hacerlo envio condigo de funcion

     Public Function ConvertToHTML(ByVal Box As RichTextBox) As String
            ' Takes a RichTextBox control and returns a
            ' simple HTML-formatted version of its contents
            Dim strHTML As String
            Dim strColour As String
            Dim blnBold As Boolean
            Dim blnItalic As Boolean
            Dim strFont As String
            Dim shtSize As Short
            Dim lngOriginalStart As Long
            Dim lngOriginalLength As Long
            Dim intCount As Integer

            ' If nothing in the box, exit
            If Box.Text.Length = 0 Then Exit Function
            ' Store original selections, then select first character
            lngOriginalStart = 0
            lngOriginalLength = Box.TextLength
            Box.Select(0, 1)
            ' Add HTML header
            strHTML = "<html>"
            ' Set up initial parameters
            strColour = Box.SelectionColor.ToKnownColor.ToString
            blnBold = Box.SelectionFont.Bold
            blnItalic = Box.SelectionFont.Italic
            strFont = Box.SelectionFont.FontFamily.Name
            shtSize = Box.SelectionFont.Size

            ' Include first 'style' parameters in the HTML
            strHTML += "<span style=""font-family: " & strFont &
              "; font-size: " & shtSize & "pt; color: " _
                              & strColour & """>"
            ' Include bold tag, if required
            If blnBold = True Then
                strHTML += "<b>"
            End If
            ' Include italic tag, if required
            If blnItalic = True Then
                strHTML += "<i>"
            End If
            ' Finally, add our first character
            strHTML += Box.Text.Substring(0, 1)
            ' Loop around all remaining characters
            For intCount = 2 To Box.Text.Length
                ' Select current character
                Box.Select(intCount - 1, 1)
                ' If this is a line break, add HTML tag
                If Box.Text.Substring(intCount - 1, 1) =
                       Convert.ToChar(10) Then
                    strHTML += "<br>"
                End If
                ' Check/implement any changes in style
                If Box.SelectionColor.ToKnownColor.ToString <>
                   strColour Or Box.SelectionFont.FontFamily.Name _
              <> strFont Or Box.SelectionFont.Size <> shtSize _
              Then
                    strHTML += "</span><span style=""font-family: " _
                 & Box.SelectionFont.FontFamily.Name &
                 "; font-size: " & Box.SelectionFont.Size &
                 "pt; color: " &
                 Box.SelectionColor.ToKnownColor.ToString & """>"
                End If
                ' Check for bold changes
                If Box.SelectionFont.Bold <> blnBold Then
                    If Box.SelectionFont.Bold = False Then
                        strHTML += "</b>"
                    Else
                        strHTML += "<b>"
                    End If
                End If
                ' Check for italic changes
                If Box.SelectionFont.Italic <> blnItalic Then
                    If Box.SelectionFont.Italic = False Then
                        strHTML += "</i>"
                    Else
                        strHTML += "<i>"
                    End If
                End If
                ' Add the actual character
                strHTML += Mid(Box.Text, intCount, 1)
                ' Update variables with current style
                strColour = Box.SelectionColor.ToKnownColor.ToString
                blnBold = Box.SelectionFont.Bold
                blnItalic = Box.SelectionFont.Italic
                strFont = Box.SelectionFont.FontFamily.Name
                shtSize = Box.SelectionFont.Size
            Next
            ' Close off any open bold/italic tags
            If blnBold = True Then strHTML += ""
            If blnItalic = True Then strHTML += ""
            ' Terminate outstanding HTML tags
            strHTML += "</span></html>"
            ' Restore original RichTextBox selection
            Box.Select(lngOriginalStart, lngOriginalLength)
            ' Return HTML
            Return strHTML

        End Function

    sábado, 28 de diciembre de 2019 1:56

Todas las respuestas

  • Hola juan manuel santiago

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comparto a continuación el siguiente enlace en el cual encontraras un caso similar al que nos estás reportando e información de cómo resolverlo

     

    https://social.msdn.microsoft.com/Forums/es-ES/efb58266-c603-4c19-9b2b-1d860304b0c9/mandar-contenido-de-un-richtextbox-con-formato-e-imagen-por-mail?forum=vbes

     

     Por favor déjame saber si puedo ofrecerte una mejor respuesta

    Gracias por usar los foros de MSDN.

     

    Diana Acuña

     

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 30 de diciembre de 2019 23:21
    Moderador