Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2013, 13:43
Avatar de cesparza
cesparza
 
Fecha de Ingreso: marzo-2013
Ubicación: Barcelona
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Formateo de emails

A ver si planteo bien mi problema.

Cuando recibo un email desde mi pagina web aspx, el texto que el usuario ha escrito en el cuadro de texto, llega sin formatear, es decir, sin presentar en pantalla los saltos de linea que el usuario haya utilizado dentro del cuadro de texto.
Llega todo en una linea plana.

Me gustaria saber de una vez, como solicionar eso, evidentemente la linea mail.IsBodyHtml esta puesta en true, pero no hablo de eso ni es un problema de html.
En ASP clásico era muy facil hacerlo y formatear lo que recibes, ya que se añadia esta linea "<%= replace(rs ("otros"),chr(10),"<br>") %>" y lo que escribe un usuario llega formateado tal y como lo ha escrito el usuario, con sus vueltas de carro y lineas de separación si las ha puesto.

Este es el código que tengo escrito, el email llega correctamente, lo unico que no se formatear es esa parte, os pongo copia del codigo en VB, y por favor constadme con codigo VB y no C+.

Protected Sub EnviarUsuario_Click(sender As Object, e As EventArgs) Handles EnviarUsuario.Click
If Page.IsValid Then
Dim mail As New MailMessage()
Dim Direccion As String = "[email protected]"
Dim mailserver As String = "mail.xxx.xx"
Dim smtp As New SmtpClient(mailserver)
Dim body As String = "<h3>CONTACTO USUARIO DESDE xxxxxx (versi&oacute;n Castellano)</h3>" & _
"<b>Nombre:</b> " & Server.HtmlEncode(Nombre.Text) & "<br />" & _
"<b>Apellidos:</b> " & Server.HtmlEncode(Apellidos.Text) & "<br />" & _
"<b>Tel&eacute;fono de Contacto:</b> " & Server.HtmlEncode(Telefono.Text) & "<br />" & _
"<b>Email:</b> " & Email.Text & "<br />" & _
"<b>Localidad:</b> " & Server.HtmlEncode(Localidad.Text) & "<br />" & _
"<b>C&oacute;digo Postal:</b> " & Server.HtmlEncode(CodigoPostal.Text) & "<br />" & _
"<b>Provincia:</b> " & Server.HtmlEncode(Provincia.Text) & "<br />" & _
"<b>Como nos ha conocido:</b> " & Seleccion.Text & "<br />" & _
"<b>Consulta:</b><br />" & Server.HtmlEncode(Consulta.Text)
smtp.Port = 587
smtp.Credentials = New System.Net.NetworkCredential("[email protected]", "xxxxxxxx")
smtp.EnableSsl = False

mail.To.Add(Direccion)
mail.From = New MailAddress(Email.Text)
mail.Subject = "Contacto Usuario"
mail.IsBodyHtml = True
mail.Body = body
smtp.Send(mail)
usuarios()
Response.Redirect("contactoOk.aspx?Page=contactOk" )
Else
lblError1.Text = "Ha ocurrido un Error. Por favor int&eacute;ntelo de nuevo."
End If
End Sub

Gracias de antemano por vuestras respuestas.