Ir para conteúdo
Fórum Script Brasil
  • 0

alguém poderia me informa a onde eu estou errando


arldin

Pergunta

Boa noite amigos eu coloquei este script de indique,mais esta dando um erro. alguém poderia me dizer a onde estou errando?

Este eu coloquei na página que eu querro que seja indicada.

<%
'caso a pagina a ser indicada tenha strings (Ex.: www.site.com.br?produto=12), utilize este.

'pagina ="http://www."& Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("url")&"?"& request.ServerVariables("QUERY_STRING")

'este é usado para a pagina basica(ex.: www.site.com.br/produtos.asp)
pagina ="http://"& Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("url")

%>
Este e para chama a página de indique
<a href="indica_amigo.asp?link=<%= pagina%>">indique.</a>
</a>
Este e o script de nome indica_amigo.asp
<form name="form1" method="post" action="">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td width="130">Seu email:</td>
<td width="270"><input name="email1" type="text" id="email1"></td>
</tr>
<tr> 
<td>Nome Amigo(a)</td>
<td><input name="nome2" type="text" id="nome2"></td>
</tr>
<tr> 
<td>Email Amigo:(a)</td>
<td><input name="email2" type="text" id="email2"></td>
</tr>
<tr> 
<td> </td>
<td><input type="submit" name="Submit" value="Enviar"></td>
</tr>
</table>
</form>

<% 

'Aqui chamamos a sub enviar quando o formulário for enviado.
if request.Form("Submit")="Enviar" then
Call enviar()
End if

'Aqui montamos a sub enviar ( é a sintaxe do envio de email com cdonts)

Sub enviar()
Set Mailer = CreateObject("CDONTS.NewMail") 
Mailer.From = request.form("email1") ' e-mail de quem esta enviando a mensagem 
Mailer.To = request.form("email2") ' e-mail de quem vai receber a mensagem 
Mailer.BodyFormat=0
Mailer.MailFormat=0
Mailer.Subject = "Site do seu interesse" 
'aqui montamos a mensagem
Mailer.Body = "Olá " & request.form("nome2") &" achei este site do seu interesse:" &"<p><a href="& request.QueryString("link")&">"&request.QueryString("link")&"</a></p>"
Mailer.Send 
Set Mailer = Nothing 
'confirmação do envio.
msg = "Email enviado com sucesso!"
response.Write("&lt;script language = 'javascript'>")
response.Write("alert('" & msg &"');")
response.Write("</script>")
end sub
%>

E o erro que esta dando e este

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object: 'CDONTS.NewMail'

/indica_amigo.asp, line 63

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Arldin, Cdo.nts foi substituido pelo CDO.SYS, versão mais atual...

Nem perderia meu tempo procurando instalar esse componente. Já está ultrapassado... e provavelmente em windows mais novos isso nem seja possível mesmo!

Pesquise por cdo.sys no google e aqui no fórum... tem bastante material a respeito e você poderá adaptar o seu código para esse componente mais atual...

Agora, no windows vista, não sei, acho que nem o cdo.sys você conseguirá instalar! procure se informar sobre isso antes, ok?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Bem amigos eu deixei aquele script de lado e agora eu estou ussando este, mais esta dando um pequeno erro.

Esta e pafina de exemplo

<html><head>
</head><body>
<a href="#" onClick="window.open('indique.asp?pagina=<%="http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL")%>','indique','height=250,width=250,left=50,top=50')"><IMG SRC="http://www.arldinartfest.com.br/gif1/carta_a.gif" ALT="" ><FONT FACE="@Arial Unicode MS" SIZE="2" COLOR="#ff0000">Indique a um amigo(a)</FONT></a>
</body></html>
E este e o script
<html><head>
</head><body>
<%
Function IsValidEmail(strEmail)
    Dim bIsValid
    bIsValid = True
    
    If Len(strEmail) < 5 Then
        bIsValid = False
    Else
        If Instr(1, strEmail, " ") <> 0 Then
            bIsValid = False
        Else
            If InStr(1, strEmail, "@", 1) < 2 Then
                bIsValid = False
            Else
                If InStrRev(strEmail, ".") < InStr(1, strEmail, "@", 1) + 2 Then
                    bIsValid = False
                End If
            End If
        End If
    End If
    IsValidEmail = bIsValid
End Function

if Not IsEmpty(Request.QueryString("acao")) Then
    rmt_nome = Trim(Request.QueryString("rmt_nome"))
    rmt_email = Trim(Request.QueryString("rmt_email"))
    dest_nome = Trim(Request.QueryString("dest_nome"))
    dest_email = Trim(Request.QueryString("dest_email"))
    pagina = Request.QueryString("pagina")
    If (IsEmpty(rmt_nome) OR rmt_nome = "" OR IsEmpty(rmt_email) OR rmt_email = "" OR IsEmpty(dest_nome) OR dest_nome = "" OR IsEmpty(dest_email) OR dest_email = "" OR IsEmpty(pagina)) OR pagina = "" Then
        %>
        <b style="color:#FF0000">Todos campos devem <br>ser preenchidos</b><br><br>
        Clique <a href="java script:history.back()">aqui</a> para Voltar
        <%
        Response.End
    End If
    If Not (IsValidEmail(rmt_email) OR IsValidEmail(dest_email)) Then
        %>
        <b style="color:#FF0000">Endereço de<br>e-mail inválido.</b><br><br>
        Clique <a href="java script:history.back()">aqui</a> para Voltar
        <%
        Response.End
    End If        
    str_mensagem = "Oi " & dest_nome & ",<br>Acessei este site e achei interessante este Veículo:<br><a href=" & pagina & ">" & pagina & "</a>"
    Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
    objCDOMail.From = rmt_nome & "<" & rmt_email & ">"
    objCDOMail.To = dest_email
        objCDOMail.Importance = 1
        objCDOMail.BodyFormat = 0
        objCDOMail.MailFormat = 0
    objCDOMail.Subject = "Site Indicado por " & rmt_nome
    objCDOMail.Body = str_mensagem
    objCDOMail.Send
    %>
    Mensagem enviada com sucesso para <br><b><%=dest_nome%>(<%=dest_email%>)!</b><br><br>
    <a href="java script:window.close()">Clique aqui para fechar</a>
<%    
End IF

if IsEmpty(Request.QueryString("acao")) Then
    %>
      <form action="<%=Request.ServerVariables("URL")%>" method="get">
      <input type="hidden" name="pagina" value="<%=Request.QueryString("pagina")%>">
      <input type="hidden" name="acao" value="envia">
      <b>Preencha os campos para <br>indicar essa página a um amigo</b><br>
      <fieldset>
      <legend>Seus dados</legend>
      Nome: <input type="text" size="20" name="rmt_nome"><br>
      E-mail: <input type="text" size="20" name="rmt_email"><br>
      </fieldset>
      <br>
      <fieldset>
      <legend>Dados do seu amigo</legend>
      Nome: <input type="text" size="20" name="dest_nome"><br>
      E-mail: <input type="text" size="20" name="dest_email"><br>
      </fieldset>
      <input type="submit" value="Enviar">   <a href="java script:window.close()">Clique aqui para fechar</a>

      </form>      
<%
End If
%>
</body></html>

Ta tudo legal, mais depois que prencho os dados da o sequinte erro

"Todos campos devem

ser preenchidos"

alguém poderia me informa o que eu estou dexando de informa

Desde já agradeço a todos

Link para o comentário
Compartilhar em outros sites

  • 0

o erro deve estar ocorrendo aqui:

if Not IsEmpty(Request.QueryString("acao")) Then
    rmt_nome = Trim(Request.QueryString("rmt_nome"))
    rmt_email = Trim(Request.QueryString("rmt_email"))
    dest_nome = Trim(Request.QueryString("dest_nome"))
    dest_email = Trim(Request.QueryString("dest_email"))
    pagina = Request.QueryString("pagina")
    If (IsEmpty(rmt_nome) OR rmt_nome = "" OR IsEmpty(rmt_email) OR rmt_email = "" OR IsEmpty(dest_nome) OR dest_nome = "" OR IsEmpty(dest_email) OR dest_email = "" OR IsEmpty(pagina)) OR pagina = "" Then

os dados não devem estar sendo enviados... como está o form de envio?

Além disso, essa segunda página continua sendo por cdo.nts se você ainda não tem isso instalado, o problema vai continuar ocorrendo, mesmo que você conserte os erros acima...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Então que dizer se eu não tiver instalado no meu pc, e outros que tambem não tiver instalado, tente enviar tambem não consequiram e isto?

Por acasso você sabe de agum script para esta função, pois este eu pequei aqui,e todos que eu testei daqui, este foi o unico que deu este pequeno erro

Link para o comentário
Compartilhar em outros sites

  • 0

Deu esse erro, mas certamente depis de consertar esse dará outros... você não conseguiu passar ainda pelo tratamento de erros, portanto o componente nem foi "ativado" ainda!

É preciso que você entenda: para enviar e-mail faz-se necessário um componente de envio de e-mails! Esse componente de envio de e-mails deve estar instalado no servidor.

Significa dizer que se você usa servidor próprio, terá que instalar algum componente. O IIS normalmente vem com algum instalado, ou CDO.SYS (windows mais modernos) ou CDO.NTS (windows mais antigos). Mas além desses componentes existem vários outros, como o aspmail, aspEmail, dundasmail e mais alguns ainda!

Se você tem seu domínio hospedado em datacenter você terá que primeiramente entrar em contato com este datacenter e perguntar qual componente de e-mail eles disponibilizam pra você. Tb convém pedir nesse caso um tutorial (a maioria dos servers fornecem), e sómente apartir destas informações estarem completas começar a programar, ok?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...