Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/novo_site/envia.asp, line 28
(linha 28) varMsg = "Chamado pelo site (www.xxx.com.br)<br><br><b>Nome:</b> "&varNome" ("&varEmail")<br><b>Empresa:</b> "&varEmpresa"<br><b>Telefone:</b> ("&varDDD") "&varFone"<br><b>Assunto:</b> "&varAssunto"<br><b>Mensagem:</b> "&varMensagem""
Ele indica o erro na aspa vermelha...
Alguém?
faz assim:
varMsg ="Chamado pelo site (www.xxx.com.br)<br><b>Nome:</b> " & varNome & "-" & varEmail & _
"<br>Empresa:</b>" & varEmpresa & " <br><b>Telefone:</b> " & varDDD & "-" & varFone & " <br><b>"&_
"Assunto:</b> " & varAssunto & "<br><b>Mensagem:</b>" & varMensagem
response.write(varMsg)
Só peguei o seu responsite.write e fiz uma nova variável:
"Sua mensagem foi enviada com sucesso, obrigado pelo contato!"
E funciona 99%...
Agora eu tenho problemas ao mudar o objCDOSYSMail.From =/
Qualquer coisa que eu digite ali ele da erro na linha 59 ( objCDOSYSMail.Send )
[46] 'Dados para envio e recebimento'
[47] objCDOSYSMail.From = "xxx@xxx.com.br"
[48] objCDOSYSMail.To = "godoy89@gmail.com"
[49] objCDOSYSMail.Replyto = varEmail
[50] objCDOSYSMail.Subject = ""&varAssunto&" (xxx.com.br)"
[52] 'conteúdo da mensagem
[53] 'objCDOSYSMail.TextBody = "Teste do componente CDOSYS"
[54] 'para envio da mensagem no formato html altere o TextBody para HtmlBody
[55] objCDOSYSMail.HtmlBody = varMsg
[57] 'objCDOSYSMail.fields.update
[58] 'envia o e-mail
[59] objCDOSYSMail.Send
Uso esse mesmo código pra diversos sites que eu tenho, então eu copiei do último e colei no novo, só alterando os Requests do formulário e coisas do tipo.
O engraçado é que ele SÓ FUNCIONA com o From do código anterior, ou seja: o e-mail da empresa anterior.
Não sei o que pode estar causando isso, já coloquei o meu e-mail, o e-mail da empresa atual, e-mail @hotmail.com etc etc etc e nada funciona!
Por favor, dêem um help ae, só falta isso pra eu entregar o site! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Segue o erro quando eu mudo o e-mail da linha 47:
error '8004020f'
/novo_site/envia.asp, line 59
Na real eu queria colocar a variável email nesse lugar do From, assim ficaria fácil pro cliente achar os e-mails de X usuário (o e-mail estaria no remetente)
alguma sugestão?
como esta configurado o
cdoSMTPServer
tenta isso
<%
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "<enter_mail.server_aqui>"
.Update
End With
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = "from@email_valido.com"
.To = "to@email_valido.com"
.Subject = "CDO Mensagem"
.TextBody = "Este é um teste para CDO.message"
.Send
End With
Set cdoMessage = Nothing
Set cdoConfig = Nothing>
como esta configurado o
cdoSMTPServer
tenta isso
<%
Set cdoConfig = CreateObject("CDO.Configuration")
With cdoConfig.Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "<enter_mail.server_aqui>"
.Update
End With
Set cdoMessage = CreateObject("CDO.Message")
With cdoMessage
Set .Configuration = cdoConfig
.From = "from@email_valido.com"
.To = "to@email_valido.com"
.Subject = "CDO Mensagem"
.TextBody = "Este é um teste para CDO.message"
.Send
End With
Set cdoMessage = Nothing
Set cdoConfig = NothingDesse jeito eu consigo colocar o e-mail da pessoa que preenche o formulário no campo .From ?
Consegue sim, basta informar o parâmetro no lugar dos e-mails exemplos que ele citou.
Certo, agora consegui fazer tudo certinho.
Após o envio do e-mail, tem como eu dar um redirect pra outra página?
(essa página teria a mensagem de "Obrigdo pela mensagem, bla bla bla")
vlw
Sim para dar um redirect faça assim
Response.Redirect("sucesso.asp")
este code tem que ser colocado abaixo do code no qual envia a mensagem.
na pagina sucesso.asp você coloca esa mensagem dizendo que o email foi enviado com sucesso.
eu dou um redirect para uma pagina passando parametro na url, exemplo
response.redirect("default.asp?msgeof=1")
onde ele é redirecionado para a pagina default
você recupera variavel passada na url
varmsgeof=request.querystring("msgeof")
e atraves dela pode exibir uma mensagem de sucesso
ou abrir uma pagina , k fecha automaticamente, apenas para exibicaun para o user
>
eu dou um redirect para uma pagina passando parametro na url, exemplo
response.redirect("default.asp?msgeof=1")
onde ele é redirecionado para a pagina default
você recupera variavel passada na url
varmsgeof=request.querystring("msgeof")
e atraves dela pode exibir uma mensagem de sucesso
ou abrir uma pagina , k fecha automaticamente, apenas para exibicaun para o user
Por exemplo:
Response.Redirect("default.asp?obrigado=1")
(obrigado eh a variavel, e o =1 significa um "enable" ?)
ele redireciona pra pagina default.asp MAS puxa a variavel "obrigado" (posso usar qualquer nome pra essa variável?)
varObrigado=request.querystring("Sua mensagem foi enviada com sucesso!")
Isso retornaria ao usuário como?
Tipo um alert (javascript)?
Aliás, tem como fazer isso?
O usuário manda o formulário, aí aparece um alert e, quando ele clica no OK vai pra default.asp?
Acho que fica mais simples do que criar uma página de agradecimento e talz, não acham tbm?
Cara faça mais ou menos assim...
Depois do envio do email pelo sistema, coloque um code de rediret com variavell querystring tipo assim...
Response.Redirect("mesmapagina.asp?acao=enviado")
Dai nesta página mesmapagina.asp você verifica com if e else se a querystring acao foi ativada, a verificação para saber seria mais ou menos assim
VAcao = Request.QueryString("acao")
Neste exemplo acima é criado uma variavel chamada VAcao nesta váriavel você faz o sistema pegar a querystring que neste caso será acao
Depois disso monte o if e else, seria mais ou menos assim
<%
If VAcao = "enviado" then
Response.Write("email enviado")
End If
%>
Note que eu mando comparar a variavel VAcao com a palavra enviado se a variavel Vacao foi criada com a querystring enviado o sistema ira verificar que são iguais e com isso mostrara a mensagem "email enviado", caso o valor for vazio ou a palavra passada pela querystring for diferente o sistema não exibira mensagem nenhuma.
Caso queira dar apenas um alerta de prompt em javascript faça o if else assim
<%
If VAcao = "enviado" then
Response.Write("<scritp>alert('Email enviado com sucesso!');</script>")
End If
%>
No mais é isso, boa sorte e sucessos.
100% agora!
vlw pela ajuda gente!
Moderadores, podem fechar :)
Fala cara, beleza? Acredito que estejam faltando uns '&' ai na sua linha de código, da um olhada na linha abaixo:
varMsg = "Chamado pelo site (www.xxx.com.br)<br><br><b>Nome:</b> " &varNome& "(" &varEmail& ") <br><b>Empresa:</b> " &varEmpresa& "<br><b>Telefone:</b> (" &varDDD& ") " &varFone& "<br><b>Assunto:</b> " &varAssunto& "<br><b>Mensagem:</b> " &varMensagem
Flw