Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

reinaldo polato

[Resolvido] contato

Recommended Posts

e ai galera beleza está dando erro

 

na pagina recebe_email.asp

 

ADODB.Recordset erro '800a0bb9'

 

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

 

linha 14

 

rs.open "select * from Cadastro where " & _ 'essa linha está dando erro

 

tipo eu quero que o nome, fone, email e a Mensagem vai para o e-mail

 

como eu faço isso

 

envia.asp

 

<html>
<body>
<form name="frm1" method="POST" action="recebe_email.asp">
<table border="1" width="43%">
<tr>
<td width="13%"><strong>Nome:</strong></td>
<td width="87%"><input type="text" name="nome" size="32"></td>
</tr>
<tr>
<td width="13%"><strong>Fone:</strong></td>
<td width="87%"><input type="text" name="fone" colspan="3" size="32"></td>
</tr>
<tr>	
<td width="13%"><strong>Email:</strong></td>
<td width="87%"><input type="text" name="email" size="32"></td>
</tr>
<tr>
<td width="13%"><strong>Mensagem:</strong></td>
<td width="87%"><textarea rows="7" name="body" cols="43"></textarea></td>
</tr>
<tr>
<td width="13%"><input type="Submit" name="botaoEnviar" value="enviar"></td>
</tr>
</table>
</form>
</body>
</html>

 

recebe_email.asp

 

<%
set db = server.createobject("adodb.connection") 'Banco de Dados
  set rs = server.createobject("adodb.recordset")  'Tabela de Registros

  'Path (Caminho) do Banco 
  db.open "driver={microsoft access driver (*.mdb)};dbq=" & _
  	Server.MapPath("calcados.mdb")

  'Selecionamos o usuario da tabela usuarios.
  'Usamos o Replace para garantir a segurança e que o usuário um pouco 
  'mais experiente não modifique a sintaxe SQL

  rs.open "select * from Cadastro where " & _


Nome=Request.Form("nome")
Fone=Request.form("fone")
Email=Request.Form("email")
Mensagem=Request.form("Body")

Server.ScriptTimeout = 180

sch = "http://schemas.microsoft.com/cdo/configuration/" 

Set cdoConfig = Server.CreateObject("CDO.Configuration") 


cdoConfig.Fields.Item(sch & "sendusing") = 2 
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1 
cdoConfig.Fields.Item(sch & "smtpusessl") = True
cdoConfig.Fields.Item(sch & "smtpserverport") = 465
cdoConfig.Fields.Item(sch & "smtpserver") = "smtp.gmail.com" 
cdoConfig.Fields.Item(sch & "sendusername") = "email.gmail.com" 
cdoConfig.Fields.Item(sch & "sendpassword") = "minhasenha" 
cdoConfig.fields.update 

Set cdoMessage = Server.CreateObject("CDO.Message") 
Set cdoMessage.Configuration = cdoConfig 

cdoMessage.From = "email.gmail.com" 
cdoMessage.To = "email.gmail.com"
cdoMessage.Subject = Assunto 
cdoMessage.HTMLBody = Mensagem
'cdoMessage.AddAttachment("c:\")'anexar o arquivo 
x = cdoMessage.Send 

if x > 0 then
Response.Write x
Response.End
else
response.write "Sua mensagem foi enviada com sucesso!"
End if

Set cdoMessage = Nothing 
Set cdoConfig = Nothing 


%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o porque desse codigo de conexão ao banco de dados antes de pegar os dados vindos do formulário.

 

Note também que ele está solto ali, sem fazer nada em especifico.

 

Além disso contém alguns erros, como por exemplo:

rs.open "select * from Cadastro where " & _

 

Voce seleciona todos os dados de uma tabela, coloca a condicional where mas não passa parametro nenhum.

Normalmente uma query é assim:

 

select * from tabela where campo <condição> <valor da condição>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é muitas vezes porque você usou um nome "amigável" para os valores (como adLockReadOnly), em vez das constantes inteira (que são os únicos valores compreendidos pelo engine), sem incluir ADOVBS.INC. verifique isso também e este caracter que esta usando , & _ muitas vezes é porque tem outra linha continuando o comando, veja , se deletou sem querer

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai xanburzum beleza agora está dando esse erro

 

erro '80040211'

 

a linha é x = cdoMessage.Send

 

ele não está enviando o formulario nome, fone, email e mensagem ele está dando erro no envio do email

 

recebe_email.asp

 

<%

dim Nome
dim Fone
dim Email
dim Mensagem


Nome=Request.Form("nome")
Fone=Request.form("fone")
Email=Request.Form("email")
Mensagem=Request.form("Body")


Response.Charset="ISO-8859-1"
palavra = request.querystring("palavra")
response.write suggest(palavra)
function suggest(str)

sql = "select * from Cadastro"
if not str = "" then
sql = sql & " where nome like '"&replace(str," ","%")&"%'"
end if
set conn = server.createobject("adodb.connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\polatoshoes\calcados.mdb"
set rs = server.createobject("adodb.recordset")
rs.open sql,conn,3,3
if rs.eof then

else
do until rs.eof
rs.movenext
loop
end if
rs.close
conn.close

end function

Server.ScriptTimeout = 180

sch = "http://schemas.microsoft.com/cdo/configuration/" 

Set cdoConfig = Server.CreateObject("CDO.Configuration") 


cdoConfig.Fields.Item(sch & "sendusing") = 2 
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1 
cdoConfig.Fields.Item(sch & "smtpusessl") = True
cdoConfig.Fields.Item(sch & "smtpserverport") = 465
cdoConfig.Fields.Item(sch & "smtpserver") = "smtp.gmail.com" 
cdoConfig.Fields.Item(sch & "sendusername") = "meuemail.@gmail.com" 
cdoConfig.Fields.Item(sch & "sendpassword") = "minhasenha" 
cdoConfig.fields.update 

Set cdoMessage = Server.CreateObject("CDO.Message") 
Set cdoMessage.Configuration = cdoConfig 

cdoMessage.From = "meuemail.@gmail.com" 
cdoMessage.To = "meuemail.@gmail.com"
cdoMessage.Subject = Assunto 
cdoMessage.HTMLBody = Mensagem
'cdoMessage.AddAttachment("c:\")'anexar o arquivo 
x = cdoMessage.Send 

if x > 0 then
Response.Write x
Response.End
else
response.write "Sua mensagem foi enviada com sucesso!"
End if

Set cdoMessage = Nothing 
Set cdoConfig = Nothing 


%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai galera beleza está dando esse erro

 

Invalid character

 

/enviar.asp, line 28

 

cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada eu coloco meu e-mail aqui e da esse erro nessa linha

 

formulario.html

 

<html>
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#FF0000" size="4" face="Times New Roman, Times, serif">Formulário de Contato</font></b></font></p>
<form method="post" enctype="multpart/formdata" name="form1" action="enviar.asp">
<table width="47%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Nome
do Remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="nomerem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">E-mail
do remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="emailrem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Assunto: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="assunto" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Mensagem:</font></td>
<td width="67%">
<textarea name="recado" rows="7" cols="52"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="reset" value="Limpar">
</div>
</td>
</tr>
</table>
</form>
<p>Powered by <a target="_blank" href="http://www.uolhost.com.br">UOL HOST - Hospedagem de Sites</a></p>
</div>
</body>
</html>

 

enviar.asp

 

<%
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")


'Variaveis
Dim meuservidorsmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio
Dim emailorigem
Dim emaildestino

'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.

meuservidorsmtp = "smtp.meudominio" ' Informacoes so seu servidor SMTP
minhacontaautenticada = "conta@meudominio" ' conta de e-mail utilizada para enviar
minhasenhaparaenvio = "minhasenha" ' senha da conta de e-mail
emailorigem = "emailorigem@dominio" ' e-mail que indica de onde partiu a mensagem
emaildestino = "emaildestino@dominio" ' e-mail que vai receber as mensagens do formulario

'Fim da definição manual de parâmetros.

cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = meuservidorsmtp
cdoConfig.Fields.Item(sch & "smtpserverport") = 25
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada
cdoConfig.Fields.Item(sch & "sendpassword") = minhasenhaparaenvio
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig

cdoMessage.BodyPart.Charset = "iso-8859-1"
cdoMessage.From = emailorigem
cdoMessage.To = emaildestino
cdoMessage.Subject = "Formulario de Contato"
cdoMessage.ReplyTo = Request("emailrem")

strBody = "Dados <br> <br>" & _
"Nome:"& Request("nomerem")& "<br>" & _
"E-Mail:"& Request("emailrem")& "<br>" & _
"Assunto:"& Request("assunto")& "<br>" & _
"Mensagem:"& Request("recado")

strBody = strBody & "."
cdoMessage.HTMLBody = strBody

cdoMessage.Send

Set cdoMessage = Nothing
Set cdoConfig = Nothing

response.write "O e-mail foi processado e enviado com sucesso"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

no meuservidorsmtp você deve usar um endereço SMTP válido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, sempre , para poder otimizar o desempenho do fórum, eu solicito gentilmente para todos os usuários para que postem como ficou o código final, assim, ajudrá outros com a mesma dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como usar o componente CDOSYS?

 

O CDOSYS é um componente que tem como propósito envio de e-mails.

 

Ele é utilizado no processamento de formulários de e-mail.

 

Enviar e-mails com o uso de formulários envolve normalmente dois arquivos, o formulário em si e um script que processa as informações inseridas nos campos do formulário e executa a ação do envio do e-mail.

 

Existe um detalhe que deve ser observado sempre, os campos que são preenchidos no formulário devem ser obrigatóriamente referenciados no script que processa o e-mail.

 

No exemplo abaixo, consideramos um formulário simples com os campos de Nome do Remetente, Endereço do Remetente, Assunto e mensagem.

 

1 - Crie um arquivo dentro da sua hospedagem com o conteúdo abaixo e nomeie-o como formulário.html

 

<html>
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#FF0000" size="4" face="Times New Roman, Times, serif">Formulário de Contato</font></b></font></p>
<form method="post" enctype="multpart/formdata" name="form1" action="enviar.asp">
<table width="47%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Nome
do Remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="nomerem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">E-mail
do remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="emailrem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Assunto: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="assunto" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Mensagem:</font></td>
<td width="67%">
<textarea name="recado" rows="7" cols="52"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="reset" value="Limpar">
</div>
</td>
</tr>
</table>
</form>
<p>Powered by <a target="_blank" href="http://www.uolhost.com.br">UOL HOST - Hospedagem de Sites</a></p>
</div>
</body>
</html>~

 

2 - No mesmo diretório, crie um arquivo chamado enviar.asp com o conteúdo abaixo:

 

<%
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")


'Variaveis
Dim meuservidorsmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio
Dim emailorigem
Dim emaildestino

'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.

meuservidorsmtp = "smtp.meudominio" ' Informacoes so seu servidor SMTP
minhacontaautenticada = "conta@meudominio" ' conta de e-mail utilizada para enviar
minhasenhaparaenvio = "minhasenha" ' senha da conta de e-mail
emailorigem = "emailorigem@dominio" ' e-mail que indica de onde partiu a mensagem
emaildestino = "emaildestino@dominio" ' e-mail que vai receber as mensagens do formulario

'Fim da definição manual de parâmetros.

cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = meuservidorsmtp
cdoConfig.Fields.Item(sch & "smtpserverport") = 25
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada
cdoConfig.Fields.Item(sch & "sendpassword") = minhasenhaparaenvio
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig

cdoMessage.BodyPart.Charset = "iso-8859-1"
cdoMessage.From = emailorigem
cdoMessage.To = emaildestino
cdoMessage.Subject = "Formulario de Contato"
cdoMessage.ReplyTo = Request("emailrem")

strBody = "Dados <br> <br>" & _
"Nome:"& Request("nomerem")& "<br>" & _
"E-Mail:"& Request("emailrem")& "<br>" & _
"Assunto:"& Request("assunto")& "<br>" & _
"Mensagem:"& Request("recado")

strBody = strBody & "."
cdoMessage.HTMLBody = strBody

cdoMessage.Send

Set cdoMessage = Nothing
Set cdoConfig = Nothing

response.write "O e-mail foi processado e enviado com sucesso"
%>

 

está ai a minha contribuição

 

esse codigo é usado no uolhost

 

abraço rapaziada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.