formalivre 0 Denunciar post Postado Julho 27, 2007 tenho um formulário no flash que envia e-mail utilizando ASP.quando recebo este e-mail ele aparece com problemas de caracteres "coração. de estudante é....."não posso usar o "System.useCodepage=true" em meu arquivo flash pois estou puxando dados de um arquivo XML que jé está com codificação "UTF-8" e quando coloco o "System.useCodepage=true" o e-mail chega sem problemas mas os textos vindos do XML ficam assim "coração" tentei utilizar esta tag "<meta http-equiv="content-type" content="text/html; charset=UTF-8">" no início do ASP mas tambén não funcionou.vou postar abaixo o código ASP que estou utilizando para enviar o e-mail: <%Destino = "contato@a1clique.com"servidor = "mail.a1clique.com"titulo = "Contato pelo site a1clique"'Asignamos los valores recibidos del formulario a las variables'Estas variables deben estar en el formulario dentro del swfOrigen = Request("email")nombre = Request("nombre")empresa = Request("empresa")Mensaje = Request("mensaje")'Creamos una instancia del objeto ASPMAILSet Mail = Server.CreateObject("Persits.MailSender")' Creamos el cuerpo del mensajestrBody = strBody & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'>" strBody = strBody & "Nome: "strBody = strBody & "<b>" & nombre & "</b><br><br>"strBody = strBody & "E-mail: "strBody = strBody & "<b>" & Origen & "</b><br><br>"strBody = strBody & "Telefone: "strBody = strBody & "<b>" & empresa & "</b><br><br>"strBody = strBody & "Mensagem: <br><br>"strBody = strBody & Mensaje & chr(10) strBody = strBody & "</font>" 'Asignamos las propiedades al objeto con ASPMAILMail.Host = servidorMail.Port = 25 ' Valor opcional. 25 es el puerto por defecto.Mail.From = "contato@a1clique.com"Mail.FromName = Email ' OpcionalMail.Subject = tituloMail.Body = strBodyMail.IsHTML = TrueMail.AddAddress DestinoOn Error Resume NextMail.Send' El control del error es con ASPMAILIf Err <> 0 Then Response.Write "popup.mensaje=Erro ao enviar o formulário. Por favor tente mais tarde. " & Err.DescriptionElse Response.Write "popup.mensaje=Mensagem enviada com sucesso!!!"End If'Destruimos el objeto con aspmailSet Mail = Nothing%>se alguém puder me ajudar desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Julho 27, 2007 O problema é mais de ASP mesmo, mas vou quebrar um galho :P. Você tem que "encodar" o UTF-8. Primeiro, veja esse exemplo. 'DecodeUTF8' Decodes a UTF-8 string to the Windows character set' Non-convertable characters are replace by an upside' down question mark.'Returns:' A Windows stringfunction DecodeUTF8(s) dim i dim c dim n i = 1 do while i <= len(s) c = asc(mid(s,i,1)) if c and &H80 then n = 1 do while i + n < len(s) if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then exit do end if n = n + 1 loop if n = 2 and ((c and &HE0) = &HC0) then c = asc(mid(s,i+1,1)) + &H40 * (c and &H01) else c = 191 end if s = left(s,i-1) + chr(c) + mid(s,i+n) end if i = i + 1 loop DecodeUTF8 = s end function Depois de adicionar esse código na página, use para mudar a codificação: Origen = DecodeUTF8(Request("email")) E assim vai. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
formalivre 0 Denunciar post Postado Julho 27, 2007 olá Antonio, obrigado pela ajuda.fiz assim: <%'DecodeUTF8' Decodes a UTF-8 string to the Windows character set' Non-convertable characters are replace by an upside' down question mark.'Returns:' A Windows stringfunction DecodeUTF8(s) dim i dim c dim n i = 1 do while i <= len(s) c = asc(mid(s,i,1)) if c and &H80 then n = 1 do while i + n < len(s) if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then exit do end if n = n + 1 loop if n = 2 and ((c and &HE0) = &HC0) then c = asc(mid(s,i+1,1)) + &H40 * (c and &H01) else c = 191 end if s = left(s,i-1) + chr© + mid(s,i+n) end if i = i + 1 loop DecodeUTF8 = s end function%><%Destino = "contato@a1clique.com"servidor = "mail.a1clique.com"titulo = "Contato pelo site a1clique"'Asignamos los valores recibidos del formulario a las variables'Estas variables deben estar en el formulario dentro del swfOrigen = DecodeUTF8(Request("email"))nombre = DecodeUTF8(Request("nombre")empresa = DecodeUTF8(Request("empresa")Mensaje = DecodeUTF8(Request("mensaje")'Creamos una instancia del objeto ASPMAILSet Mail = Server.CreateObject("Persits.MailSender")' Creamos el cuerpo del mensajestrBody = strBody & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'>" strBody = strBody & "Nome: "strBody = strBody & "<b>" & nombre & "</b><br><br>"strBody = strBody & "E-mail: "strBody = strBody & "<b>" & Origen & "</b><br><br>"strBody = strBody & "Telefone: "strBody = strBody & "<b>" & empresa & "</b><br><br>"strBody = strBody & "Mensagem: <br><br>"strBody = strBody & Mensaje & chr(10) strBody = strBody & "</font>" 'Asignamos las propiedades al objeto con ASPMAILMail.Host = servidorMail.Port = 25 ' Valor opcional. 25 es el puerto por defecto.Mail.From = "contato@a1clique.com"Mail.FromName = Email ' OpcionalMail.Subject = tituloMail.Body = strBodyMail.IsHTML = TrueMail.AddAddress DestinoOn Error Resume NextMail.Send' El control del error es con ASPMAILIf Err <> 0 Then Response.Write "popup.mensaje=Erro ao enviar o formulário. Por favor tente mais tarde. " & Err.DescriptionElse Response.Write "popup.mensaje=Mensagem enviada com sucesso!!!"End If'Destruimos el objeto con aspmailSet Mail = Nothing%>mas agora não recebi o e-mail de contato. o que pode ser? Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Julho 28, 2007 Sinceramente, não sei não. O que passei pra você foi mais o resultado de uma pesquisa no google do que meu conhecimento. Vai lá no fórum de ASP que o pessoal entende bem mais. :DAbraço Compartilhar este post Link para o post Compartilhar em outros sites