Ir para conteúdo

POWERED BY:

Arquivado

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

- KbeçãO -

Contato em asp..

Recommended Posts

Bom dia galera...

Bom..

eu ñ sei nda de asp..

so php basico..

+ na pagina de um cliente meu o servidor so aceita asp..

entao peguei ne net um formulario de contato asp..

um formulario basico...

"Nome:

Email:

Assunto:

Menssagem:"

No aqruivo "contato.asp" tenho o form ja citado e os seguintes codigos...

 

if request.form="" then
'nao recebo formulario, entao o mostro
%>
      <form action="resp_form_asp.asp" method="post">
        <%
else
'recebo um formulario, entao o trato
'recolho os dados
nome = request.form("nome")
email = request.form("email")
assunto = request.form("assunto")
msgm = request.form("msgm")
'componho o corpo da mensagem
corpo = "Formulario recebido" & VBNEWLINE & VBNEWLINE
corpo = corpo & "Nome: " & nome & VBNEWLINE
corpo = corpo & "Email: " & email
corpo = corpo & "Assunto: " & assunto
corpo = corpo & "Menssagem: " & msgm
//logo abaixo vem o resto do form

no arquivo "resp_form_asp.asp" tenho somente os codigos de envio de email...

 

<%
set mail = server.createObject("Persits.MailSender")
Mailer.FromName = request("nome")
Mailer.FromAddress = request("email")
Mailer.RemoteHost = "smtp.simengenharia.eng.br"
Mailer.AddRecipient "Contato" , "simengenharia.en.br"
Mailer.Subject = "Contato"

Mailer.BodyText = "Nome..........: " & request.form("nome") & vbcrlf
Mailer.BodyText = "E-mail........: " & request.form("email") & vbcrlf
Mailer.BodyText = "Assunto.......: " & request.form("assunto") & vbcrlf
Mailer.BodyText = "Menssagem.....: " & request.form("msgm") & vbcrlf

if Mailer.SendMail then
Response.redirect "http://www.simengenharia.eng.br/resp.html"
else
Response.Write mailer.response
end if
%>

mais quando tento enviar o email aparece o seguinte erro...

 

Server object error 'ASP 0177 : 800401f3'

 

Server.CreateObject Failed

 

/resp_form_asp.asp, line 2

 

800401f3

oq eu fiz de errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois eh..

estou na duvida sobre isso..

+ ai achei outro codigo...

ele ñ acusa erro nenhum, ate retorna a pagina de agradecimento dizendo q o email fo enviado..

Mais ñ chega nda pra mim..

ai vai o codigo...


<% 

' declare variables
Dim EmailTo
Dim Subject
Dim Nome:
Dim Email:
Dim Assunto:
Dim Menssagem:

' get posted data into variables
EmailTo = "gabriel.livre@terra.com.br"
Subject = "Contato Site"
Nome = Trim(Request.Form("nome")) 
Email = Trim(Request.Form("email")) 
Assunto = Trim(Request.Form("assunto")) 
Menssagem = Trim(Request.Form("Msgm")) 

' validation
Dim validationOK
validationOK=true
If (Trim(Email)="") Then validationOK=false
If (validationOK=false) Then Response.Redirect("erro.html" & EmailFrom)

' prepare email body text
Dim Body
Body = Body & "Nome: " & Nome & VbCrLf
Body = Body & "Email: " & Email & VbCrLf
Body = Body & "Assunto: " & Assunto & VbCrLf
Body = Body & "Menssagem: " & Menssagem & VbCrLf

' send email 
Dim mail
Set mail = Server.CreateObject("CDONTS.NewMail") 
mail.To = EmailTo
mail.From = Email
mail.Subject = Subject
mail.Body = Body
mail.Send 

' redirect to success page 
Response.Redirect("resp.html" & EmailFrom)
%>
=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Server object error 'ASP 0177 : 800401f3'

 

Server.CreateObject Failed

 

/resp_form_asp.asp, line 39

 

800401f3

linha39: Set mail = Server.CreateObject("CDOSYS.NewMail")

 

x/

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse erro é porque você não tem o componente instalado no host, entre em contato com o host para saber quais os componentes que trabalha.

 

ou rode este code, para saber quais componentes estão instalados

 

componentes instalado.
<%
Dim arrListaComponentes(48)

arrListaComponentes(0)  = Array( "AB Mailer","ABMailer.Mailman" )
arrListaComponentes(1)  = Array( "ABC Upload","ABCUpload4.XForm" )
arrListaComponentes(2)  = Array( "ActiveFile","ActiveFile.Post" )
arrListaComponentes(3)  = Array( "ActiveX Data Object","ADODB.Connection" )
arrListaComponentes(4)  = Array( "Adiscon SimpleMail","ADISCON.SimpleMail.1" )
arrListaComponentes(5)  = Array( "ASP DNS", "AspDNS.Lookup" )
arrListaComponentes(6)  = Array( "ASP HTTP","AspHTTP.Conn" )
arrListaComponentes(7)  = Array( "ASP Image","AspImage.Image" )
arrListaComponentes(8)  = Array( "ASP Mail","SMTPsvg.Mailer" )
arrListaComponentes(9)  = Array( "ASP NNTP News", "AspNNTP.Conn" )
arrListaComponentes(10) = Array( "ASP POP 3", "POP3svg.Mailer" )
arrListaComponentes(11) = Array( "ASP Simple Upload","ASPSimpleUpload.Upload" )
arrListaComponentes(12) = Array( "ASP Smart Cache","aspSmartCache.SmartCache" )
arrListaComponentes(13) = Array( "ASP Smart Mail","aspSmartMail.SmartMail" )
arrListaComponentes(14) = Array( "ASP Smart Upload","aspSmartUpload.SmartUpload" )
arrListaComponentes(15) = Array( "ASP Tear","SOFTWING.ASPtear" )
arrListaComponentes(16) = Array( "ASP Thumbnailer","ASPThumbnailer.Thumbnail" )
arrListaComponentes(17) = Array( "ASP WhoIs","WhoIs2.WhoIs" )
arrListaComponentes(18) = Array( "ASPSoft NT Object","ASPSoft.NT" )
arrListaComponentes(19) = Array( "ASPSoft Upload","ASPSoft.Upload" )
arrListaComponentes(20) = Array( "CDO NTS","CDONTS.NewMail" )
arrListaComponentes(21) = Array( "Chestysoft Image","csImageFile.Manage" )
arrListaComponentes(22) = Array( "Chestysoft Upload","csASPUpload.Process" )
arrListaComponentes(23) = Array( "Dimac JMail","JMail.Message" )
arrListaComponentes(24) = Array( "Distinct SMTP","DistinctServerSmtp.SmtpCtrl" )
arrListaComponentes(25) = Array( "Dundas Mailer","Dundas.Mailer" )
arrListaComponentes(26) = Array( "Dundas Upload","Dundas.Upload.2" )
arrListaComponentes(27) = Array( "Dundas PieChartServer", "Dundas.ChartServer.2")
arrListaComponentes(28) = Array( "Dundas 2D Chart", "Dundas.ChartServer2D.1")
arrListaComponentes(29) = Array( "Dundas 3D Chart", "Dundas.ChartServer")
arrListaComponentes(30) = Array( "Dynu Encrypt","Dynu.Encrypt" )
arrListaComponentes(31) = Array( "Dynu HTTP","Dynu.HTTP" )
arrListaComponentes(32) = Array( "Dynu Mail","Dynu.Email" )
arrListaComponentes(33) = Array( "Dynu Upload","Dynu.Upload" )
arrListaComponentes(34) = Array( "Dynu WhoIs","Dynu.Whois" )
arrListaComponentes(35) = Array( "Easy Mail","EasyMail.SMTP.5" )
arrListaComponentes(36) = Array( "File System Object","Scripting.FileSystemObject" )
arrListaComponentes(37) = Array( "Ticluse Teknologi HTTP","InteliSource.Online" )
arrListaComponentes(38) = Array( "Last Mod","LastMod.FileObj" )
arrListaComponentes(39) = Array( "Microsoft XML Engine","Microsoft.XMLDOM" )
arrListaComponentes(40) = Array( "Persits ASP JPEG","Persits.Jpeg" )
arrListaComponentes(41) = Array( "Persits ASPEmail","Persits.MailSender" )
arrListaComponentes(42) = Array( "Persits ASPEncrypt","Persits.CryptoManager" )
arrListaComponentes(43) = Array( "Persits File Upload","Persits.Upload.1" )
arrListaComponentes(44) = Array( "SMTP Mailer","SmtpMail.SmtpMail.1" )
arrListaComponentes(45) = Array( "Soft Artisans File Upload","SoftArtisans.FileUp" )
arrListaComponentes(46) = Array( "Image Size", "ImgSize.Check" )
arrListaComponentes(47) = Array( "Microsoft XML HTTP", "Microsoft.XMLHTTP" )
arrListaComponentes(48) = Array( "CDOSYS", "CDO.Message" )

' Rotina que verifica o componente do array é um objeto.
Function VerificaObjeto(pComponente)
Dim objComponente
 On Error Resume Next
 VerificaObjeto = False
 Err.Clear
 Set objComponente = Server.CreateObject(pComponente)
 If Err = 0 Then VerificaObjeto = True
 Set objComponente = Nothing
 Err.Clear
End Function

Public Function VerificaComponentes()
Dim intCont, strTxt
Dim intIndex, strProv

intCont = 0
 strTxt = "<table border='1' bordercolor='black' cellspacing='0' cellpadding='0' align='center' width='400'>"
 For intIndex = LBound(arrListaComponentes) To UBound(arrListaComponentes)
  strProv = intIndex
  strTxt = strTxt & "<tr><td width='200'><font face='tahoma' size='1'>" & arrListaComponentes(intIndex)(0) & "</font></td>"
  If VerificaObjeto(arrListaComponentes(intIndex)(1)) Then
    strTxt = strTxt & "<td align=center><font color='red' face='tahoma' size='1'>Instalado</font></td>"
    intCont = intCont + 1
  Else
    strTxt = strTxt & "<td align='center'><font face='tahoma' size='1'>Não Instalado</font></td>"
  End If
  strTxt = strTxt & "</tr>"
 Next
 strTxt = strTxt & "</table><p align='center'><font face='tahoma' size='2'><b>" & intCont & "</b> componentes instalados de "
 strTxt = strTxt & "<b>" & UBound(arrListaComponentes) + 1 & "</b> no provedor.</font> </p>"
 VerificaComponentes = strTxt 
End Function

Response.Write VerificaComponentes
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

utiliza o CDOSYS, olha alguns exemplos

Compartilhar este post


Link para o post
Compartilhar em outros sites

CDOSYS é a nova versão do CDONTS (CDONTS foi descontinuado),basta que faça as devidas alterações nas variaveis

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue exatamente como te falei e se quisare consultar o lab. de script existem alguns exemplos ótimos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha...

pelo que eu entendo de programação, lendo o artigo que você me mandou, e um pedaço do outro codigo q eu ja estava usando meu codigo ficou assim...

<%
Dim ObjSendMail
Dim iConf
Dim Flds
Dim EmailTo
Dim Subject
Dim Nome
Dim Email
Dim Assunto
Dim Menssagem

' get posted data into variables
EmailFrom = "carlao@livrecomunicacao.com"
EmailTo = "gabriel.livre@terra.com.br"
Subject = "Contato Site"
Nome = Trim(Request.Form("nome")) 
Email = Trim(Request.Form("email")) 
Assunto = Trim(Request.Form("assunto")) 
Menssagem = Trim(Request.Form("Msgm"))
        
Set ObjSendMail = Server.CreateObject("CDO.Message")
Set iConf = Server.CreateObject("CDO.Configuration")
        
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = 2 //linha 26
.Item(cdoSMTPServer) = "smtp.simengenharia.eng.br"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPconnectiontimeout) = 10
.Update
End With

Dim Body
Body = Body & "Nome: " & Nome & VbCrLf
Body = Body & "Email: " & Email & VbCrLf
Body = Body & "Assunto: " & Assunto & VbCrLf
Body = Body & "Menssagem: " & Menssagem & VbCrLf
        
Set ObjSendMail.Configuration = iConf
        
Set ObjSendMail.Configuration = iConf
ObjSendMail.To = "gabriel.livre@terra.com.br"
ObjSendMail.Subject = Assunto
ObjSendMail.From = Email
        

'ObjSendMail.HTMLBody = "corpo do email"
ObjSendMail.TextBody = Menssagem
        
ObjSendMail.Send
Response.Redirect("resp.html")
        
Set ObjSendMail = Nothing
Set iConf = Nothing
Set Flds = Nothing

%>

mais acusou o seguinte erro:

ADODB.Fields error '800a0bb9'

 

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

 

/resp_form.asp, line 26

 

Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = 2 //linha 26
.Item(cdoSMTPServer) = "smtp.simengenharia.eng.br"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPconnectiontimeout) = 10
.Update
End With

oq deu errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou aspas

 

Set Flds = iConf.Fields
With Flds
.Item("cdoSendUsingMethod") = 2 //linha 26
.Item("cdoSMTPServer") = "smtp.simengenharia.eng.br"
.Item("cdoSMTPServerPort") = 25
.Item("cdoSMTPconnectiontimeout") = 10
.Update
End With

Compartilhar este post


Link para o post
Compartilhar em outros sites

setando o Item("cdoSendUsingMethod") = 2 ,o método 2 (Usando o encaminhamento de mensagens na porta 25)

Incluir este código da biblioteca metatype na página você usa este e-mail com o código, porque há algumas coisas em que este método necessita.

 

olhas alguns exemplos

 

<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="mymail@mydomain.com"
myMail.To="someone@somedomain.com"
myMail.TextBody="This is a message."
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Name or IP of remote SMTP server
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.server.com"
'Server port
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
myMail.Configuration.Fields.Update
myMail.Send
set myMail=nothing
%>

<%
if request("botao") = "enviar" then
'Cria o objeto para o envio de e-mail
Set objMail = Server.CreateObject("CDO.Message")
'Cria o objeto para configuração do SMTP
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
'SMTP
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.seudominio.com.br"
'Porta do SMTP
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25
'Porta do CDO
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Timeout
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")= 60
objCDOSYSCon.Fields.update
'Atualiza a configuração do CDOSYS para o envio do e-mail
Set objMail.Configuration = objCDOSYSCon
'Set key properties
objMail.From = "seuemail@seudominio.com.br"
objMail.To = request.form("to")
objMail.Subject= request.form("subject")
objMail.TextBody = request.form("body")
'Send the email
return = objMail.Send
'Notify user
if return <> 0 then
response.write "Erro: " & return
else
response.write "Mensagem enviada com sucesso."
end if
'Clean-up mail object
Set objMail = Nothing
end if
%>
<html>
<head>
<title></title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
</head>
<body>
<p>CDOSYS TEST<br>
</p>
<form method="POST" action="cdosys.asp">
<table border="0" width="43%">
<tr>
<td width="13%">To:</td>
<td width="87%"><input type="text" name="to" size="20"></td>
</tr>
<tr>
<td width="13%">Subject:</td>
<td width="87%"><input type="text" name="subject" size="20"></td>
</tr>
<tr>
<td width="13%">Message:</td>
<td width="87%"><textarea rows="2" name="body" cols="20"></textarea></td>
</tr>
<tr>
<td width="13%"></td>
<td width="87%"><input type="submit" value="enviar" name="botao"></td>
</tr>
</table>
</form>
</body>
</html>

No campo: objMail.From = "email@seudominio.com.br" substitua pelo e-mail de seu domínio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesse ultimo exemplo q você me passo n deu certo..

+ no ultimo q eu estava fazendo, tudo deu certo, me foi retornada ate a pagina de resposta..

+ o email n xegou...

x/

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você estiver executando no localhost, você precisa configurar o SMTP

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ, ñ..

ñ asp configurado no meu pc...

eu testo direto no dominio do site..

ou seja, eu fasso as alterações, lanço a pagina na internet e la eu a testo..

x/

só estou usando asp pq é a unica linguagem q o servidor do meu cliente aceita, c n eu usaria php...

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.