Cita:
Iniciado por cesparza 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ón Castellano)</h3>" & _
"<b>Nombre:</b> " & Server.HtmlEncode(Nombre.Text) & "<br />" & _
"<b>Apellidos:</b> " & Server.HtmlEncode(Apellidos.Text) & "<br />" & _
"<b>Telé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ó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éntelo de nuevo."
End If
End Sub
Gracias de antemano por vuestras respuestas.
Hola, si te entendí bien, lo que tú deseas es darle formato al mensaje que envías,si es ese el problemilla, la manera en que lo hago es así: Parte 1.-
'/*Método que envía email de confirmación de la pre-reserva*/
Public Sub EnviarEmailConfirmacion(ByVal strIdcita As String, _
ByVal strEmail As String, _
ByVal strFechayHora As String)
Try
Dim objSmtp As New SmtpClient()
objSmtp.Host = "s28212.gridserver.com"
objSmtp.Port = 25
objSmtp.EnableSsl = True
Dim objEmail As New MailMessage()
objEmail.To.Add(strEmail) ' Correo a quien va dirigido
'objEmail.CC.Add("
[email protected]" & "," & "
[email protected]")
objEmail.From = New MailAddress("
[email protected]", "titulo")
objEmail.Priority = MailPriority.High
objEmail.Subject = "Confirmación:Reserva."
objEmail.IsBodyHtml = True
objEmail.Body = BuildMessage(strIdcita, strFechayHora)
Dim Credenciales As New System.Net.NetworkCredential()
Credenciales.UserName = "
[email protected]"
Credenciales.Password = "password1"
objSmtp.DeliveryMethod = SmtpDeliveryMethod.Network
objSmtp.EnableSsl = True
objSmtp.UseDefaultCredentials = False
objSmtp.Credentials = Credenciales
objSmtp.Send(objEmail)
Catch ex As Exception
'lblErrorEmail.Text = ex.Message
Exit Sub
End Try
End Sub
Parte 2.- Function BuildMessage(ByVal strIdcita As String, _
ByVal strFechayHora As String) As String
Dim strMessage As New StringBuilder
strMessage.Append("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">")
strMessage.Append("<html>")
strMessage.Append("<head>")
strMessage.Append("<title>PAGINA CITA</title>")
strMessage.Append("<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">")
strMessage.Append("<style type=""text/css"">")
strMessage.Append("<!--")
strMessage.Append(".basix {")
strMessage.Append("font-family: Verdana, Arial, Helvetica, sans-serif;")
strMessage.Append("font-size: 12px;")
strMessage.Append("}")
strMessage.Append(".header1 {")
strMessage.Append("font-family: Verdana, Arial, Helvetica, sans-serif;")
strMessage.Append("font-size: 12px;")
strMessage.Append("font-weight: bold;")
strMessage.Append("color: #FFFFFF;")
strMessage.Append("}")
strMessage.Append(".tlbbkground1 {")
strMessage.Append("background-color: #01ADA1;")
strMessage.Append("}")
strMessage.Append("-->")
strMessage.Append("</style>")
strMessage.Append("</head>")
strMessage.Append("<body>")
strMessage.Append("<table width=""85%"" border=""0"" align=""center"" cellpadding=""5"" cellspacing=""1"" class=""tlbbkground1"">")
strMessage.Append("<tr bgcolor=""#01ADA1"">")
strMessage.Append("<td colspan=""2"" class=""header1"">Información de la pre-reserva</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
'strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#eeeeee"" class=""header1"" nowrap>IP ADRESS</td>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Paciente</td>")
'strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & Request.ServerVariables("REMOTE_ADDR") & "</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & txtNom.Text & " " & txtApePat.Text & " " & txtApeMat.Text & "</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
'strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#eeeeee"" class=""header1"" nowrap>User Agent</td>")
'strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & Request.LogonUserIdentity.Name() & "</td>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>E-Mail</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & txtEmail.Text & "</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Teléfono</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & txtTlf.Text & "</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Celular</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & txtCel.Text & " </td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Fecha y Hora</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & strFechayHora & "</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Doctor</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & lblDoctor.Text & "</td>")
strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Especialidad</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & lblEspe.Text & "</td>")
strMessage.Append("</tr>")
'strMessage.Append("<tr>")
'strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Turno</td>")
'strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix"">" & lblTurno.Text & "</td>")
'strMessage.Append("</tr>")
strMessage.Append("<tr>")
strMessage.Append("<td width=""100"" align=""right"" bgcolor=""#01ADA1"" class=""header1"" nowrap>Link pre - reserva</td>")
strMessage.Append("<td bgcolor=""#FFFFFF"" class=""basix""> <a style= color:""#FF0000""; font-size: ""13px""; font-weight: ""bold""; href=http://www.google.com> Confirmar_reserva </td>")
strMessage.Append("</tr>")
strMessage.Append("</table>")
strMessage.Append("</body>")
strMessage.Append("</html>")
Return strMessage.ToString
End Function