Ir para conteúdo

POWERED BY:

Arquivado

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

celi

[Resolvido] Formulário de contato

Recommended Posts

Boa tarde a todos. Gostaria de saber como faço um formulario de contato em asp, já procurei em todo lugar, mas ñ achei. Peço q deem uma dica, um passo-a-passo qualquer coisa assim. Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

contato.html

 

<html>
<head>
	<title>Teste CDOSYS</title>
</head>
<body>
<form name="contato" action="envia.asp" method="post">
Nome: <input name="nome" type="text"><br />
E-mail: <input name="email" type="text"><br />
Mensagem: <input name="mensagem" type="text"><br />
<input type="submit" value="Enviar Mensagem">
</form>
</body>
</html>
* Nós iremos receber o valor dos campos preenchidos no formulário, e armazená-los em variáveis

 

envia.asp

 

<%
'Repare que neste ponto estamos obtendo os valores preenchidos no formulário "contato.html"
nome = Request.Form("nome")
email = Request.Form("email")
mensagem = Request.Form("mensagem")
 
'Ao invés de preenchermos os e-mails utilizados diretamente na configuração do CDOSYS, vamos guarda-los
'em variáveis que serão utilizadas mais à frente:
emailFrom = "Remetente@dominio.com"
emailTo = "Destinatario@domínio.com"
 
'E então Vamos montar um corpo para o e-mail que será enviado, estamos usando um formato em HTML:
corpoMensagem = "Nome: "& nome &"<br>E-Mail: "& email &"<br>Mensagem: "& mensagem
 
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
 
objCDOSYSCon.Fields.update 
 
Set objCDOSYSMail.Configuration = objCDOSYSCon
 
'Neste ponto iremos utilizar as variáveis onde estão preenchidos os e-mails do remetente e destinatário:
objCDOSYSMail.From = emailFrom
objCDOSYSMail.To = emailTo
objCDOSYSMail.Subject = "Assunto do e-mail"
 
'E aqui inserimos o corpo da mensagem, criado anteriormente:
objCDOSYSMail.HtmlBody = corpoMensagem
objCDOSYSMail.Send
 
set objCDOSYSMail = nothing
set objCDOSYSCon = nothing
response.write "<h1>Mensagem enviada com sucesso!!</h1><br>"
 
'Vamos também mostrar ao usuário para onde foi enviado o e-mail, e de onde foi enviado:
response.write "Mensagem enviada de: " & emailFrom & "<br>"
response.write "Mensagem enviada para: " & emailTo
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e para enviar com anexos, clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

contato.html

 

<html>
<head>
	<title>Teste CDOSYS</title>
</head>
<body>
<form name="contato" action="envia.asp" method="post">
Nome: <input name="nome" type="text"><br />
E-mail: <input name="email" type="text"><br />
Mensagem: <input name="mensagem" type="text"><br />
<input type="submit" value="Enviar Mensagem">
</form>
</body>
</html>
* Nós iremos receber o valor dos campos preenchidos no formulário, e armazená-los em variáveis

 

envia.asp

 

<%
'Repare que neste ponto estamos obtendo os valores preenchidos no formulário "contato.html"
nome = Request.Form("nome")
email = Request.Form("email")
mensagem = Request.Form("mensagem")
 
'Ao invés de preenchermos os e-mails utilizados diretamente na configuração do CDOSYS, vamos guarda-los
'em variáveis que serão utilizadas mais à frente:
emailFrom = "Remetente@dominio.com"
emailTo = "Destinatario@domínio.com"
 
'E então Vamos montar um corpo para o e-mail que será enviado, estamos usando um formato em HTML:
corpoMensagem = "Nome: "& nome &"<br>E-Mail: "& email &"<br>Mensagem: "& mensagem
 
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
 
objCDOSYSCon.Fields.update 
 
Set objCDOSYSMail.Configuration = objCDOSYSCon
 
'Neste ponto iremos utilizar as variáveis onde estão preenchidos os e-mails do remetente e destinatário:
objCDOSYSMail.From = emailFrom
objCDOSYSMail.To = emailTo
objCDOSYSMail.Subject = "Assunto do e-mail"
 
'E aqui inserimos o corpo da mensagem, criado anteriormente:
objCDOSYSMail.HtmlBody = corpoMensagem
objCDOSYSMail.Send
 
set objCDOSYSMail = nothing
set objCDOSYSCon = nothing
response.write "<h1>Mensagem enviada com sucesso!!</h1><br>"
 
'Vamos também mostrar ao usuário para onde foi enviado o e-mail, e de onde foi enviado:
response.write "Mensagem enviada de: " & emailFrom & "<br>"
response.write "Mensagem enviada para: " & emailTo
%>

configurei tudo certinho, mas deu um erro O site não pode exibir a página

HTTP 500

Causas prováveis:

•O site está em manutenção.

•O site tem um erro de programação.

 

Você pode tentar:

Atualizar a página.

 

Voltar para a página anterior.

 

Mais informações

Compartilhar este post


Link para o post
Compartilhar em outros sites

desabilite a opção de exibir mensagens de erro HTTP amigáveis no browser, para ver o número do erro...

 

e você precisa alterar esta linha

 

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
ao invés de localhost, tem que ser o SMTP fornecido pelo seu serviço de hospedagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o erro:

 

Microsoft VBScript compilation error '800a0400'

 

Expected statement

 

/faleconosco/envia.asp, line 3

 

"nome = Request.Form("nome")

^

Compartilhar este post


Link para o post
Compartilhar em outros sites

os request, precisam ter o mesmo nome dos campos, para poder recuperá-los

 

<%

'Repare que neste ponto estamos obtendo os valores preenchidos no formulário "contato.html"

nome = Request.Form("nome")

email = Request.Form("email")

mensagem = Request.Form("mensagem")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você diz nesta parte:

 

'Repare que neste ponto estamos obtendo os valores preenchidos no formulário "contato.html
"nome = Request.Form("nome")
email = Request.Form("email")
mensagem = Request.Form("mensagem")

<form name="contato" action="envia.asp" method="post">
Nome: <input name="nome" type="text"><br />
E-mail: <input name="email" type="text"><br />
Mensagem: 
  <textarea name="mensagem"></textarea>
  <br />
<input type="submit" value="Enviar Mensagem">
</form>
Aparentemente tem os mesmos nomes

Compartilhar este post


Link para o post
Compartilhar em outros sites

você fazendo assim:

 

nome = Request.Form("nome")

o que ele recupera ???

 

dá abaixo dele um response.write

response.write(nome)

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe mesmo esta aspa dupla antes de nome? se sim retire-a

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o resultado , quando você executa os procedimentos do post #12

Compartilhar este post


Link para o post
Compartilhar em outros sites

como está esta parte do código agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, peguei um tutorial e fiz este formulário:

index.asp:

<html><head>
<title>celinho</title>
</head>
<body topmargin="0" leftmargin="0">
<div align="center"> <center> 
  <form method="POST" action="enviar.asp">
    <div align="center"> 
      <center>
        <table border="0" width="50%" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">Nome:</font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">
                <input type="text" name="nome" size="25" style="font-family: Verdana; font-size: 10 pt; border-style: solid; border-width: 1">
                </font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">E-mail:</font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">
                <input type="text" name="email" size="25" style="font-family: Verdana; font-size: 10 pt; border-style: solid; border-width: 1">
                </font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">Assunto:</font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">
                <input type="text" name="assunto" size="25" style="font-family: Verdana; font-size: 10 pt; border-style: solid; border-width: 1">
                </font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">Mensagem:</font></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="left"><font size="2" face="Verdana">
                <textarea rows="5" name="mensagem" cols="25" style="font-family: Verdana; font-size: 10 pt; border-style: solid; border-width: 1"></textarea>
                </font></td>
          </tr>
          <tr> 
            <td width="4%"><font size="1" face="Verdana"><img src="../imagens/pixel.gif" align="absmiddle" width="15" height="15"></font></td>
            <td width="96%"></td>
          </tr>
          <tr> 
            <td width="4%"></td>
            <td width="96%"> <p align="center"><font face="Verdana">
                <input type="submit" src="imagens/enviar.gif" value="Enviar >>" name="enviar">
                </font></td>
          </tr>
        </table>
      </center>
    </div>
  </form>
</div>
</body>
</html>

enviar.asp
<%
'Declarando variveis
Dim sNameTo, sNameFrom, sEmailFrom, sText, sEmailTo, sAssunto

'Pegando os dados digitados nos campos e colocando em variaveis
sNameFrom = Request.Form("nome")
sEmailFrom = Request.Form("email")
sEmailTo = "celimma@gmail.com"
sNameTo = "Nome do Site"
sText = Request.Form("mensagem")
sAssunto = Request.Form("assunto")

'Cria o objeto
  set mailer = server.createobject("SMTPsvg.Mailer")
  Mailer.FromName = sNameFrom
  Mailer.FromAddress = sEmailFrom
 'Host para envio de emails
  Mailer.RemoteHost = "smtp2.gmail.com"
  Mailer.AddRecipient sEmailTo, sNameTo
  Mailer.Subject = sAssunto  & " - E-mail"

  'Monta a texto para o envio
  strMsgHeader = sNameFrom & "(" & sEmailFrom & ") " & " quem enviou! " & vbCrLf & vbCrLf
  strMsgFooter = sText
  Mailer.BodyText = strMsgHeader & strMsgFooter
  ' Se for enviado redirecionar para obrigado.asp
  if Mailer.SendMail then
     Response.Redirect "obrigado.asp"
  else
  ' Se não for enviado mostra o erro que ocoreu
     Response.Write ("Ocorreu um erro.<BR>")
     Response.Write ("O Erro é " & Mailer.Response)
  end if
%>

e confirmar.asp

<html><head>
<title>Fale Conosco CódigoLivre :.: iMasters (Exemplo)</title>
</head>
<body topmargin="0" leftmargin="0">
<div align="center">
<center>
<table border="0" width="439">
<tr>
</center>
<p align="center"><font color="#00B0FF" size="3"><b>Muito Obrigado !!</b></font><p align="center"><font size="2"></font><p align="center"><font size="2">
Sua Mensagem foi enviada com sucesso.</font>
</td>
</tr>
</table>
</div>
</td>
</body>
</html>

 Ainda assim da este erro:
Ocorreu um erro.
O Erro é Operation timed out.
Como eu poderia corrigir este erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o SMTP esta correto e não tem nenhuma instabilidade no server

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok tbm já consegui reolver coloquei esta parte q faltava Mailer.RemoteHost = "smtp2.gmail.com". Obrigado.

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.