Ir para conteúdo
Fórum CódigoFonte.net
manogaucho

[AJUDA] MUDAR ENVIO DE E-MAIL CDONTS PARA CDOSYS

Recommended Posts

Tudo bem!

Tenho este codigo em asp.

Ele serve para, mandar um e-mail de confirmação para o usuario, na finalização do cadastro ou pedido, abaixo esta o codigo.

Set EnvioEmail = Server.CreateObject("CDONTS.NewMail")                
                        EnvioEmail.From = Titulo & "<" & EmailPadrao & ">"
                        EnvioEmail.To = objCliente("Email")
                        EnvioEmail.BodyFormat = 0
                        EnvioEmail.MailFormat = 0
                        EnvioEmail.Subject = "Confirmação de inserção de anúncio."
                        EnvioEmail.Body = VarConfEmail
                        EnvioEmail.Send                
                    Set EnvioEmail = Nothing
                    
                Response.Write "<tr><td align='center' class='TituloVermelho'>Você acaba de receber um e-mail de confirmação.<br>Para que possa ativar seu an&uacute;ncio, entre no mesmo e acesse o link!</td></tr>"
So que meu servidor ( UOL ) Suporta Componente CDOSYS fiz umas mudanças, e ficou assim.
Dim EnvioEmail
                    
                    Set EnvioEmail = Server.CreateObject("CDO.Message")                
                        EnvioEmail.From = Titulo & "<" & EmailPadrao & ">"
                        EnvioEmail.To = objCliente("Email")
                        EnvioEmail.Subject = "Confirmação de inserção de anúncio."                
                    Set EnvioEmail = Nothing
                    
                Response.Write "<tr><td align='center' class='TituloVermelho'>Você acaba de receber um e-mail de confirmação.<br>Para que possa ativar seu an&uacute;ncio, entre no mesmo e acesse o link!</td></tr>"
Agora ele mostra a mensagem "Você acaba de receber um e-mail de confirmação.", o cadastro ou pedido entra no banco de dados, mas não envia E-mail para o usuario. Queria uma ajuda para este novo problema. abaixo esta o codigo todo do arquivo "InsAnuncio.asp" como baixei da internet
<!-- #include file="Includes/BarraCima.asp" -->
<!--#include file="Includes/Form2.asp"-->
<!-- #include file="Includes/Upload.asp" -->
<%
Dim VarAct
Dim objSecoes
Dim objPlanos
Dim VarCodAutenticacao

Set objSecoes = Conn.Execute("SELECT * FROM Secoes ORDER BY Secao")
Set objPlanos = Conn.Execute("SELECT * FROM Planos ORDER BY Cod")

VarAct = Request.QueryString("Act")
VarCodAutenticacao = GerarChave(06)

Dim objEstados2
Set objEstados2 = Conn.Execute("Select * from Estados order by Estado asc")
%>
&lt;script LANGUAGE="Javascript">
<!--
//
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</SCRIPT>
  <tr>
    <td valign="top">
    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="150" align="center" valign="top" bgcolor="#F9F9F9"><!-- #include file="Includes/BarraEsq.asp" --></td>
        <td align="center" valign="top" bgcolor="#FFFFFF">
          <table width="468" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="10"><img src="Imagens/Blank.gif" width="1" height="1"></td>
          </tr>
          <tr>
            <td align="center" class="TituloCinzaMedio">INSER&Ccedil;&Atilde;O DE AN&Uacute;NCIO </td>
          </tr>
          <tr>
            <td align="center">&nbsp;</td>
          </tr>
          <tr>
            <td align="center">
            <%
            Dim VarNomeProduto
            Dim VarBreveDescricao
            Dim VarDescricao
            Dim VarValor
            Dim VarFormaPagamento
            Dim VarEstado
            Dim VarCidade
            Dim VarSecao
            Dim VarPlano
            Dim VarLocal
            Dim VarFoto
            Dim VarFoto1
            Dim VarFoto2
            Dim VarFoto3
            Dim VarFoto4
            Dim VarFoto5
            Dim Foto1
            Dim Foto2
            Dim Foto3
            Dim Foto4
            Dim Foto5
            Dim VarMesPagamento
            Dim InsBd
            Dim x
        
            If VarAct = "Cadastrar" Then
            
                '-------------------------------------------------------------                    
                Dim Uploader, File
                Set Uploader = New FileUploader

                Uploader.Upload()
                    
                If Uploader.Files.Count > 0 Then
                    For Each File In Uploader.Files.Items
                        File.SaveToDisk CaminhoFoto
                        VarFoto = VarFoto &"|"& File.FileName
                    Next
                VarFoto = Right(VarFoto, Len(VarFoto)-1)
                VarFoto = Split(VarFoto, "|")
                End If
                    
                VarNomeProduto = Replace(Uploader.Form("NomeProduto"),"'","''")
                VarBreveDescricao = Replace(Uploader.Form("BreveDescricao"),"'","''")
                VarDescricao = Replace(Replace(Uploader.Form("Descricao"),vb script:this.value=''" value="Digite uma cidade" size="1"><span class='TextoCinzaMascara'> (Ex: Mogi das Cruzes)</span></td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td class="TituloCinzaEscuro">Se&ccedil;&atilde;o:*</td>
                <td>
                  <select name="Secao" size="1" class="Form13319">
                    <option selected value="">Selecione a se&ccedil;&atilde;o</option>
                    <%
                    While not objSecoes.EOF
                        Response.Write "<option value='"& objSecoes("Cod") &"'>"& objSecoes("Secao") &"</option>"
                    objSecoes.MoveNext : Wend                        
                    %>
                </select>
                </td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td height="20" colspan="2" align="center" class="TituloCinzaEscuro">&nbsp;</td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td height="20" colspan="2" align="center" class="TituloCinzaEscuro" bgcolor="#DDDDDD">Fotos</td>
                </tr>
                <%
                With Response
                    .Write LinhaHorizontal
                    .Write FCampos(6)
                    .Write LinhaHorizontal
                    .Write FCampos(7)
                    .Write LinhaHorizontal
                    .Write FCampos(8)
                    .Write LinhaHorizontal
                    .Write FCampos(9)
                    .Write LinhaHorizontal
                    .Write FCampos(10)
                    .Write LinhaHorizontal
                End With
                %>
                <tr>
                  <td height="20" colspan="2" align="center" class="TituloCinzaEscuro">&nbsp;</td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td height="20" colspan="2" align="center" class="TituloCinzaEscuro" bgcolor="#DDDDDD">Plano</td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td height="20" colspan="2" align="center">
                      <select name="Plano" class="Form17019">
                      <option selected>Selecione o plano</option>
                      <%
                      While not objPlanos.EOF
                      Response.Write "<option value='"& objPlanos("Cod") &"'>"& objPlanos("Plano")&"</option>"
                      objPlanos.MoveNext
                      Wend
                      %>
                    </select>&nbsp;<a href="#" class="TextoCinzaEscuro" onClick="MM_openBrWindow('PopPlanos.asp','','scrollbars=yes,width=600,height=300')">Conhe&ccedil;a nossos planos</a>
                  </td>
                </tr>
                <%=LinhaHorizontal%>
                <tr>
                  <td height="20" colspan="2" align="center" class="TituloCinzaEscuro">&nbsp;</td>
                </tr>
                <%
                With Response
                    .Write FCampos(11)
                End With
                %>
                <tr>
                    <td height="30" colspan="2" align="center" valign="bottom"><%=Voltar%></td>
                </tr>
              </form>
            </table>
            <% End If %>
            </td>
          </tr>
        </table>
        </td>
        <td width="150" align="center" valign="top" bgcolor="#F8F8F8"><!-- #include file="Includes/BarraDir.asp" --></td>
      </tr>
    </table>
    </td>
  </tr>
<!-- #include file="Includes/Rodape.asp" -->

Agradeço a ajuda, se precisar de mais algum arquivo eu mando ou post aqui. Abraços!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Quando você fez a alteração no código, ficou faltando justamente a linha que que envia o e-mail e a mensagem

Dim EnvioEmail

                    Set EnvioEmail = Server.CreateObject("CDO.Message")                
                        EnvioEmail.From = Titulo & "<" & EmailPadrao & ">"
                        EnvioEmail.To = objCliente("Email")
                        EnvioEmail.Subject = "Confirmação de inserção de anúncio."                
EnvioEmail.Send  <--- Faltou essa linha !!!
EnvioEmail.HTMLBody = suamensagem <--- Essa Também !!!
                        Set EnvioEmail = Nothing

                Response.Write "<tr><td align='center' class='TituloVermelho'>Você acaba de receber um e-mail de confirmação.<br>Para que possa ativar seu an&uacute;ncio, entre no mesmo e acesse o link!</td></tr>"[/code]

Faça essas alterações e veja se vai funcionar...

Até mais,

Danilo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem! Fiz as alterações que pediu e deu esta mensagem.

CDO.Message.1 error '80040220'

The "SendUsing" configuration value is invalid.

/classificado/InsAnuncio.asp, line 308

Mas o produto foi cadastrado. Esta linha 308 é correspondente a "EnvioEmail.Send" que envia o e-mail como tinhas falado.

Mandei um E-mail para o pessoal da UOL sobre este assunto e eles me responderam assim:

Para envio de e-mails através do site, é necessária a utilização de SMTP autenticado. Ou seja, você terá de implementar em seu código, a autenticação no momento do envio.

Abaixo, indicamos uma FAQ de exemplo da utilização do componente CDOSYS:

http://tutorial.uolhost.com.br/index.php?i...sta&res=505

Lembramos que para esta autenticação, você deve utilizar uma conta do seu domínio e sua respectiva senha, assim como o seu servidor smtp, que seria:

stmp.meudominio.dominiotemporario.com

Acho que pode ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Pois é, cada caso é um caso. Seu provedor tem uma configuração própria para uso deste componente.

Téra que incluir algumas linhas para funcionar...

Vamos ao que interessa...

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 & "smtpserver") = "smtp.SEU_DOMINIO_TEMPORARIO" 'Informe o domínio do seu painel de controle.
cdoConfig.Fields.Item(sch & "smtpserverport") = 25
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = "CONTA DE E-MAIL VÁLIDA PARA AUTENTICAR" '[email protected]_dominio
cdoConfig.Fields.Item(sch & "sendpassword") = "SENHA DO E-MAIL"
cdoConfig.fields.update

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

cdoMessage.From = "[email protected]_dominio" 'ENDEREÇO DE E-MAIL QUE SERÁ EXIBIDO NO FROM DA MENSAGEM
cdoMessage.To = objCliente("Email")
cdoMessage.Subject = "Confirmação de inserção de anúncio."
cdoMessage.ReplyTo = objCliente("Email")
cdoMessage.HTMLBody = VarConfEmail
cdoMessage.Send

Set cdoMessage = Nothing
Set cdoConfig = Nothing

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

Já adaptei algumas linhas desta estrutura com o seu código. Confira este código com as tuas variáveis e e resto de seu código, e termine de alterar as informações que faltam (só você tem essas informações).

Boa Sorte!

Danilo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico feliz que tenha conseguido.

Vamos continuar ajudando pois assim sempre crescemos....

Danilo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fico feliz que tenha conseguido.

Vamos continuar ajudando pois assim sempre crescemos....

Danilo.

ESTOU COM O MESMO PROBLEMA DO AMIGO ACIMA, TENHO UMA LOJA ASP,,,,,,,HOSPEDEI NO UOLHOST E ELA NÃO MANDA E-MAIL....PODE ME AJUDAR ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!--#include file="conecta_mysql.asp"-->

<%

Session.LCID = 1046

Server.ScriptTimeOut = 500

'FUNÇÃO PARA GERAR CÓDIGO CUPOM DESCONTO

Function cupom(quantidade)

Dim Senha(9)

Senha(0) = "a"

Senha(1) = "b"

Senha(2) = "c"

Senha(3) = "d"

Senha(4) = "e"

Senha(5) = "1"

Senha(6) = "2"

Senha(7) = "3"

Senha(8) = "4"

Senha(9) = "5"

Randomize

do while len(chave) < quantidade

num = Senha(Int(9 * Rnd ))

chave = chave + num

loop

cupom = Trim(chave)

end function

'FUNÇÃO PARA CALCULAR O TAMANHO DE ARQUIVOS DO ADMINISTRADOR

Function Tamanho(givenSize)

If (givenSize < 1024) Then

Tamanho = givenSize & " Bytes"

ElseIf (givenSize < 1024*1024) Then

Tamanho = FormatNumber(givenSize/1024,2) & " KB"

ElseIf (givenSize < 1024*1024*1024) Then

Tamanho = FormatNumber(givenSize/(1024*1024),2) & " MB"

Else

Tamanho = FormatNumber(givenSize/(1024*1024*1024),2) & " GB"

End If

IF inStr(Tamanho, ",00") <> 0 THEN Tamanho = Replace(Tamanho, ",00", "")

End Function

'FUNÇÃO PARA ENVIAR EMAIL

Function enviar(de, para, assunto, mensagem)

Select Case loja("componente_email")

Case "ASPMAIL"

On Error Resume Next

Set objEmail = Server.CreateObject("SMTPsvg.Mailer")

objEmail.FromName = de

objEmail.FromAddress = de

objEmail.RemoteHost = loja("host_email")

objEmail.AddRecipient "", para

objEmail.Subject = assunto

objEmail.ContentType = "text/html"

objEmail.BodyText = mensagem

objEmail.SendMail

Set objEmail = Nothing

Case "ASPEMAIL"

On Error Resume Next

Set objEmail = Server.CreateObject("Persits.MailSender")

objEmail.Host = loja("host_email")

objEmail.From = de

objEmail.FromName = de

objEmail.AddAddress para

objEmail.Subject = assunto

objEmail.isHTML = True

objEmail.Body = Mensagem

objEmail.Send

Set objEmail = Nothing

Case "ASPQMAIL"

On Error Resume Next

Set objEmail = Server.CreateObject("SMTPsvg.Mailer")

objEmail.QMessage = 1

objEmail.FromName = de

objEmail.FromAddress = de

objEmail.RemoteHost = loja("host_email")

objEmail.AddRecipient "", para

objEmail.Subject = assunto

objEmail.BodyText = mensagem

objEmail.SendMail

Set objEmail = Nothing

Case "CDONTS"

On Error Resume Next

Set objEmail = Server.CreateObject("CDONTS.NewMail")

objEmail.to = para

objEmail.from = de

objEmail.subject = assunto

objEmail.Importance = 1

objEmail.BodyFormat = 0

objEmail.MailFormat = 0

objEmail.body = mensagem

objEmail.send

Set objEmail = Nothing

End Select

end function

'FUNÇÃO PARA CRIPTOGRAFIA DA LOJA EMAIL

Function hash(texto)

Dim cripta

cripta = ""

For i = 1 To Len(texto)

If cripta = "" Or i > Len("0123456789") Then x = 1 Else x = x + 1

cripta = cripta & Chr(255 - (Asc(Mid(texto, i, 1))) + Int(Mid("0123456789",x,1)) )

Next

hash = cripta

End Function

'FUNÇÃO PARA FECHAR BANCO DE DADOS

Function fecha_banco

set brpay = nothing

set boleto = nothing

set deposito = nothing

set visa = nothing

set master = nothing

conexao.close

set conexao = nothing

end function

if request("especial") = "sair" then

session.Abandon()

response.redirect "default.asp"

end if

FUNCTION parcela(valor_total,qntparcelas, minima)

if valor_total/12 >= 1 + minima - 1 and qntparcelas >=12 then

texto = "12x de R$ " & formatnumber((valor_total/12),2)

elseif valor_total/11 >= 1 + minima - 1 and qntparcelas >=11 then

texto = "11x de R$ " & formatnumber((valor_total/11),2)

elseif valor_total/10 >= 1 + minima - 1 and qntparcelas >=10 then

texto = "10x de R$ " & formatnumber((valor_total/10),2)

elseif valor_total/9 >= 1 + minima - 1 and qntparcelas >=9 then

texto = "9x de R$ " & formatnumber((valor_total/9),2)

elseif valor_total/8 >= 1 + minima - 1 and qntparcelas >=8 then

texto = "8x de R$ " & formatnumber((valor_total/8),2)

elseif valor_total/7 >= 1 + minima - 1 and qntparcelas >=7 then

texto = "7x de R$ " & formatnumber((valor_total/7),2)

elseif valor_total/6 >= 1 + minima - 1 and qntparcelas >=6 then

texto = "6x de R$ " & formatnumber((valor_total/6),2)

elseif valor_total/5 >= 1 + minima - 1 and qntparcelas >=5 then

texto = "5x de R$ " & formatnumber((valor_total/5),2)

elseif valor_total/4 >= 1 + minima - 1 and qntparcelas >=4 then

texto = "4x de R$ " & formatnumber((valor_total/4),2)

elseif valor_total/3 >= 1 + minima - 1 and qntparcelas >=3 then

texto = "3x de R$ " & formatnumber((valor_total/3),2)

elseif valor_total/2 >= 1 + minima - 1 and qntparcelas >=2 then

texto = "2x de R$ " & formatnumber((valor_total/2),2)

end if

if texto <> "" then

mensagem = "<tr><td align=""center""> ou em <span style=""color:#CC0000""><strong>"&texto&"</strong> no <strong>"&cartao&"</strong> </span>sem juros </td></tr>"

response.write mensagem

end if

END FUNCTION

FUNCTION parcelase(valor_total,qntparcelas, minima)

if valor_total/12 >= 1 + minima - 1 and qntparcelas >=12 then

texto = "12x de R$ " & formatnumber((valor_total/12),2)

elseif valor_total/11 >= 1 + minima - 1 and qntparcelas >=11 then

texto = "11x de R$ " & formatnumber((valor_total/11),2)

elseif valor_total/10 >= 1 + minima - 1 and qntparcelas >=10 then

texto = "10x de R$ " & formatnumber((valor_total/10),2)

elseif valor_total/9 >= 1 + minima - 1 and qntparcelas >=9 then

texto = "9x de R$ " & formatnumber((valor_total/9),2)

elseif valor_total/8 >= 1 + minima - 1 and qntparcelas >=8 then

texto = "8x de R$ " & formatnumber((valor_total/8),2)

elseif valor_total/7 >= 1 + minima - 1 and qntparcelas >=7 then

texto = "7x de R$ " & formatnumber((valor_total/7),2)

elseif valor_total/6 >= 1 + minima - 1 and qntparcelas >=6 then

texto = "6x de R$ " & formatnumber((valor_total/6),2)

elseif valor_total/5 >= 1 + minima - 1 and qntparcelas >=5 then

texto = "5x de R$ " & formatnumber((valor_total/5),2)

elseif valor_total/4 >= 1 + minima - 1 and qntparcelas >=4 then

texto = "4x de R$ " & formatnumber((valor_total/4),2)

elseif valor_total/3 >= 1 + minima - 1 and qntparcelas >=3 then

texto = "3x de R$ " & formatnumber((valor_total/3),2)

elseif valor_total/2 >= 1 + minima - 1 and qntparcelas >=2 then

texto = "2x de R$ " & formatnumber((valor_total/2),2)

end if

if texto <> "" then

mensagem = "ou em <span style=""color:#CC0000""><strong>"&texto&"</strong> no <strong>"&cartao&"</strong> </span>sem juros"

response.write mensagem

end if

END FUNCTION

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...