NÃO SAI A PONTUAÇÃO NO ENVIO DO EMAIL

 Tópico anterior Próximo tópico Novo tópico

NÃO SAI A PONTUAÇÃO NO ENVIO DO EMAIL

ASP CLASSICO

 Compartilhe  Compartilhe  Compartilhe
#437300 - 15/04/2014 12:57:01

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Galera não conheço muito o ASP, alias quase nada, más estou chamando um form onde vc abre um chamado para a assistência e estou com um problema na pontuação do email, quando uso qqer acento ele não sai

Já pesquisei bastante, cheguei a achar até uma pessoa que estava com o mesmo problema que eu e usando o mesmo script, porém quando coloquei a solução que foi proposta, não adiantou

Segue a página onde envio o email e um alerta na página

O problema se encontra apenas no envio do email, a página e a gravação no mysql estão perfeitos

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'Força a declaração de todas as variáveis
Option Explicit
'Não deixa informações no Cache
Response.Expires = 0
'Declaração das variáveis
Dim Conexao, Rs, StrSql, nome, email, TipoTicket, Mensagem,RazaoSocial,Cnpj,CodigoGerado

'Atribuição dos valores as respectivas variáveis
nome = Request.Form("txtnomeusuario")
mensagem = Request.Form("txtmensagem")
email = Request.Form("txtemailusuario")
tipoticket = Request.Form("CboTipoChamado")
razaosocial = request.form("txtrazaosocial")
cnpj = request.form("txtcnpj")

'Cria o objeto RecordSet e atribui a variável
Set conexao = server.CreateObject("ADODB.Connection")
StrSql ="DRIVER={MySQL ODBC 5.1 Driver};Server=localhost;uid=root;Database=Teste"
conexao.open StrSql

'Insere os dados na tabela aberta
StrSql = "INSERT INTO pedidoteste (razaosocial,cnpj,email,obs,usuario,tipochamado) "
StrSql = StrSql & "VALUES ('"&razaosocial&"','"&cnpj&"','"&email&"','"&mensagem&"', '"&nome&"', '"&tipoticket&"')"
'Caso ocorra um erro esta função de erro será chamada
On error Resume Next
'Executa a inserção no Banco de Dados
Set Rs = conexao.Execute(StrSql)
'Caso a função On Error Resume Next não tenha sido chamada o objeto err será = a 0
'Redireciona o usuário caso não tenha ocorrido erro na transação
if err = 0 Then
    'Pega o número gerado
    set rs = recordset
    rs.open("Select last_insert_id()"),conexao,1
    CodigoGerado=rs(0)

    'Fecha o Objeto de Conexão
    conexao.close
    '"APAGA" qualquer instancia que possa ter no objeto objRs e objConn
    Set Rs = Nothing
    Set conexao = Nothing

    'Enviar um email com o ticket
    ' Criar o corpo do email
    StrSql = "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>"
ou
    StrSql = "<meta http-equiv='Content-Type' content='text/html; charset=irf-8'>"
ou nenhuma dessas opções

    StrSql = StrSql & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'> "
    StrSql = StrSql & Nome &",<br>"
    StrSql = StrSql & "O chamado foi criado com sucesso, para o seguinte problema relatado: éééé "
    StrSql = StrSql & "<br><b>" & mensagem & "</b><br><br>"
    StrSql = StrSql & "CHAMADO Nº " & codigogerado & chr(10)
    StrSql = StrSql & "</font>"
    
    Dim ConfigEmail
    Dim EnviaEmail
    Dim schema
    schema = "http://schemas.microsoft.com/cdo/configuration/"

    'cria o objeto para o envio de e-mail
    Set EnviaEmail = Server.CreateObject("CDO.Message")
    'cria o objeto para a configuração do envio de e-mail
    Set ConfigEmail = Server.CreateObject("CDO.Configuration")
    
    ConfigEmail.Fields(schema & "smtpserver") = "mail.equip-tecnologia.com"
    ConfigEmail.Fields(schema & "sendusing") = 2
    ConfigEmail.Fields(schema & "smtpserverport") = 587
    ConfigEmail.Fields(schema & "smtpconnectiontimeout") = 60
    ConfigEmail.Fields(schema & "smtpusessl") = False
    
    ConfigEmail.Fields(schema & "smtpauthenticate") = 1
    ConfigEmail.Fields(schema & "sendusername") = "email@email.com.br"
    ConfigEmail.Fields(schema & "sendpassword") = "123456"
    
    ConfigEmail.Fields.Update
    
    set EnviaEmail.Configuration = ConfigEmail
    
    EnviaEmail.To = "email@ig.com.br"'
    EnviaEmail.From = email
    EnviaEmail.Subject = "Abertura de Chamado"
    EnviaEmail.HtmlBody = StrSql
    EnviaEmail.Send
    
    set ConfigEmail = nothing
    set EnviaEmail = nothing
end if
%>
<html>
<head>
<title>Cadastro de Ticket</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor = "#ffffff">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr bgcolor="#0099FF">
  <td colspan="7" height="1" align="center"> <font size="2" color="#FFFF00"><b><font face="Verdana, Arial, Helvetica, sans-serif">Seus dados foram inseridos com sucesso - TICKET GERADO Nº <%= CodigoGerado %> </font></b></font></td>
  </tr>
</table>
<a href="Default.asp">"Clique aqui para ir para a página principal"</a>
</body>
</html>

o Email chega assim
Alvaro Luiz Bernardi Junior,
O chamado foi criado com sucesso, para o seguinte problema relatado: iiii
iiiiii zzzzzz

CHAMADO N: 41


Esse iiiiiii do email na verdade o que esta escrito - ééééééé
Esse zzzz do email na verdade o que esta escrito - úúúúúúú


Alguém pode me dar uma força
Desde já agradeço a todos

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1

#437302 - 15/04/2014 13:11:28

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Na marcação HTML use:
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
ao invés de
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">



_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#437303 - 15/04/2014 13:17:04

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Kerplunk obrigado pelo retorno

Más essa marcação é na tag da página ou do email, pois como coloquei no corpo do email usei as duas possibilidades, pois o problema se encontra no email

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1

#437304 - 15/04/2014 13:44:57

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Kerplunk eu coloquei o que vc pediu na criação da página de exibição e o email foi enviado ainda errado, só que dessa vez teve uma diferença
O email chegou dessa forma

Alvaro Luiz Bernardi Junior,
O chamado foi criado com sucesso, para o seguinte problema relatado: ????
iiiiii zzzzzz

CHAMADO N? 51

Esses ??????? eram iiiiiiii, eles mudaram exatamente com o código que vc postou, porém o resto ficou a mesma coisa
Isso mudou pq o texto acentuado esta escrito
" StrSql = StrSql & "O chamado foi criado com sucesso, para o seguinte problema relatado: éééé "

e o que esta na variável continuou a mesma coisa
StrSql = StrSql & "<br><b>" & mensagem & "</b><br><br>"


Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1

#437305 - 15/04/2014 14:14:49

OCELOT
SOROCABA
Cadast. em:Março/2012


Tente usar o Server.HTMLEncode para codificar corretamente estes caracteres, algo do tipo

StrSql = StrSql & "<br><b>" & Server.HTMLEncode(mensagem) & "</b><br><br>"



#437307 - 15/04/2014 14:39:55

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Ocelot obrigado pelo retorno

Estava olhando e no schemas da microsoft não tem algo parecido com isso que vc falou, somente
'ObjSendMail.HTMLBody = "this is the body"
ObjSendMail.TextBody = "this is the body"

E esses dois métodos eu ja utilizei

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1

#437308 - 15/04/2014 14:42:58

OCELOT
SOROCABA
Cadast. em:Março/2012


E você testou o que eu falei?



#437310 - 15/04/2014 15:04:06

ALVAROVB2009
GUARULHOS
Cadast. em:Maio/2009


Ocelot eu testei o que vc falou, e não deu a mensagem que não dava suporte ao objeto e acabei procurando e outros sites e achei no http://wiki.locaweb.com.br/pt-br/Cdosys uma outra documentação que a dona microsoft não postou e dentre deles tinha uma opção para definir o caracter da mensagem, não como eu tinha posto no código
' Criar o corpo do email
    StrSql = "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>"
ou
    StrSql = "<meta http-equiv='Content-Type' content='text/html; charset=irf-8'>"

más sim uma opção do objeto

'Para definir o charset da mensagem
'objCDOSYSMail.BodyPart.Charset = "utf-8"

Com isso o meu email foi enviado com todas as acentuações

Apenas colocando o código como que ficou.

Após o Update

set EnviaEmail.Configuration = ConfigEmail
EnviaEmail.To = "email@ig.com.br"'
EnviaEmail.From = email
EnviaEmail.Subject = "Abertura de Chamado"
EnviaEmail.BodyPart.Charset = "utf-8"  
EnviaEmail.HtmlBody = StrSql
EnviaEmail.Send

Agradeço a todos pela ajuda

Teoria é quando se sabe tudo, e nada funciona. Prática e quando tudo funciona e ninguém sabe porque.
"Aquele que quer aprender gosta que lhe digam quando esta errado;
só o tolo não gosta de ser corrigido -"Prov.12:1

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por ALVAROVB2009 em 15/04/2014 15:04:56