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

Ajudinha para enviar email com CDOSYS


baladaclick

Pergunta

Galera seguinte. este código esta funcionando perfeitinho. só quer uma dica. eu quero fazer o sistema enviar um email de confirmação de cadastro p usuario que acabou de se cadastrar. mas não sei como pegar o email que ele digitou e colocar no codigo de destinatário. quem puder ajudar, valeu

<%
Dim email

nome = request.Form("nome_cadastro")
email = request.Form("email_cadastro")
telefone = request.Form("telefone_cadastro")
cpf = request.form("cpf_cadastro")
rg = request.form("rg_cadastro")


'## Configuração do cabeçalho da mensagem
sDestinatario = [b]"aqui quero o email do usuario que acabou de se cadastrar"[/b]
sRemetente = "email@teste.com.br" 'O endereço de e-mail deve ser uma conta válida do seu próprio domínio.
sResponder = "email@teste.com.br"
sAssunto = "Mensagem automática - DualSense"
sMensagem = "Esta é uma mensagem de confirmação de seu cadastro na promoção Caça ao DualSense, logo abaixo contém os dados pessoais que foram enviados" & vbCrLf & vbCrLf & "Nome: " & request.Form("nome_cadastro") & vbCrLf & "E-mail: " & request.Form("email_cadastro") & vbCrLf & "Fone: " & request.Form("telefone_cadastro") & vbCrLf & "Pergunta: " & request.form("pergunta_cadastro")& vbCrLf & vbCrLf & "Não responda esta mensagem"

' Cria o objeto CDOSYS
Set objCDOSYSMail = 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") = "localhost" 

'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") = 30 
objCDOSYSCon.Fields.update 

'Atualiza a configuração do CDOSYS para envio do e-mail
Set objCDOSYSMail.Configuration = objCDOSYSCon 

' #### CONFIGURAÇÕES DO CABEÇALHO DA MENSAGEM ####
'Configura o remetente(FROM) 
objCDOSYSMail.From = sRemetente 

'Configura o destinatário(TO) 
objCDOSYSMail.To = sDestinatario

'Configura o Reply-To(Responder Para) 
objCDOSYSMail.ReplyTo = sResponder 

'Configura o assunto(SUBJECT) 
objCDOSYSMail.Subject = sAssunto 

'Configura o conteúdo da mensagem 
'Para enviar mensagens no formato HTML, altere o TextBody para HtmlBody 
objCDOSYSMail.TextBody = sMensagem 



' ### ENVIA O E-MAIL ###
objCDOSYSMail.Send 

' ### DESTRÓI OS OBJETOS ### 
Set objCDOSYSMail = Nothing 
Set objCDOSYSCon = Nothing 
response.Redirect("area_usuario.asp")
%>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Cara... não sei se entendi direito...

Sua dúvida é como recuperar o endereço de e-mail que o user digitou no form?

Se for isso você está recuperando no codigo acima aqui:

email = request.Form("email_cadastro")
para testar isso você pode mandar imprimir em tela assim:
response.write email
ou simplesmente colocar assim:
objCDOSYSMail.To = email 'aqui é pra onde o e-mail será enviado...

era isso que você precisava?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

sim já sei q estou recuperando o dados, é isso mesmo q você disse, mas sabe essa parte do codigo

'## Configuração do cabeçalho da mensagem

sDestinatario = "aqui quero o email do usuario que acabou de se cadastrar"

eu coloco a variavel email entre as aspas não da certo da um erro deste tipo

CDO.Message.1 error '8004020c'

At least one recipient is required, but none were found.

/dualsense/envia_cadastro.asp, line 60

e a linha 60 é esta

' ### ENVIA O E-MAIL ###

objCDOSYSMail.Send

Link para o comentário
Compartilhar em outros sites

  • 0

Faz o seguinte:

Comenta a linha do erro (adciona um ' antes pra ficar como comentário) e dá um response.write(objCDOSYSMail.To) e vê se aparece alguma coisa na tela

Provavelmente está recebendo a variável errado !

Verifique se o seu campo do formulário realmente é email_cadastro e se não o deixou em brando

Posta os resultados aqui !

Link para o comentário
Compartilhar em outros sites

  • 0

beleza. já vou fazer

coloquei do jeito q você disse

' ### ENVIA O E-MAIL ###

'objCDOSYSMail.Send

response.write(objCDOSYSMail.To)

' ### DESTRÓI OS OBJETOS ###

Set objCDOSYSMail = Nothing

Set objCDOSYSCon = Nothing

%>

a tela ficou em branco e não apresentou resultado nenhum

o campo do cadastro esta como email_cadastro. não esta em branco e nem errado

Link para o comentário
Compartilhar em outros sites

  • 0

Então !

Provavelmente você está cometendo algum erro na hora de passar as variáveis !

O erro ocorre justamente por isso: O valor passado é vazio !

Certifique-se de que na página anterior realmente existe o campo email_cadastro

Verifique também que seu formulário está escrito com o method="post"

Se não obtiver sucesso, poste aqui a página que envia o formulário

Link para o comentário
Compartilhar em outros sites

  • 0

estranho não é?. porque o codigo ta funcionando direitinho na hora que eu coloco o meu email no "sDestinatario", ele envia diretinho, mas quando coloco a variavel não funciona.

este é o form

<form ACTION="<%=MM_editAction%>" METHOD="POST" id="form1" name="form1">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="18%"><div align="right" class="style4">Nome</div></td>
                <td width="1%">&nbsp;</td>
                <td height="35" colspan="2"><label>
                  <input name="nome_cadastro" type="text" class= "box" id="nome_cadastro" size="25"/>
                </label></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">Cidade/UF</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><input name="cidade_cadastro" type="text" class= "box" id="cidade_cadastro" size="25"/></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">E-mail</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><input name="email_cadastro" type="text" class= "box" id="email_cadastro" size="25"/></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">Telefone</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><input name="telefone_cadastro" type="text" class= "box" id="telefone_cadastro" size="25" onkeypress="return txtBoxFormat(document.form1, 'telefone_cadastro', '(99) 9999-9999', event);" maxlength="14"/></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">CPF</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><span id="sprytextfield1">
                  <input name="cpf_cadastro" type="text" class= "box" id="cpf_cadastro" size="25" onkeypress="return txtBoxFormat(document.form1, 'cpf_cadastro', '999.999.999-99', event);" maxlength="14"/>
                  <span class="textfieldRequiredMsg style4">digite o seu CPF</span></span></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">RG</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><input name="rg_cadastro" type="text" class= "box" id="rg_cadastro" size="25" onkeypress="return txtBoxFormat(document.form1, 'rg_cadastro', '99.999.999-2', event);" maxlength="12" /></td>
              </tr>
              <tr>
                <td><div align="right" class="style4">Senha</div></td>
                <td>&nbsp;</td>
                <td height="35" colspan="2"><input name="senha_cadastro" type="password" class= "box" id="senha_cadastro"/></td>
              </tr>
              <tr>
                <td height="67"><label></label></td>
                <td height="67">&nbsp;</td>
                <td height="67" colspan="2"><span id="sprycheckbox1">
                  <label onclick="MM_openBrWindow('regulamento.asp','Regulamento','scrollbars=yes,width=600,height=500')">
                  <span class="style4">
<input name="regulamento" type="checkbox" id="regulamento" value="concordo" />
Ao clicar na caixa ao lado, você aceita o <a href="#" onclick="return false">Regulamentos do programa</a></span></label>
                  <br />
                  <span class="checkboxRequiredMsg style6">Necessário concordar com o regulamento.</span></span></td>
                </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td width="50%" height="35"><div align="center">
                  <label>
                  <input type="submit" name="bt_enviar" id="bt_enviar" value="Enviar cadastro" class="botao"/>
                  </label>
                </div></td>
                <td width="31%"><input type="hidden" name="MM_insert" value="form1" /></td>
              </tr>
            </table>
                    
            
            
          
            </form>
este é o codigo que grava no banco de dados o cadastro
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' *** Redirect if username exists
MM_flag = "MM_insert"
If (CStr(Request(MM_flag)) <> "") Then
  Dim MM_rsKey
  Dim MM_rsKey_cmd
  
  MM_dupKeyRedirect = "cpf_existente.asp"
  MM_dupKeyUsernameValue = CStr(Request.Form("cpf_cadastro"))
  Set MM_rsKey_cmd = Server.CreateObject ("ADODB.Command")
  MM_rsKey_cmd.ActiveConnection = MM_conn_STRING
  MM_rsKey_cmd.CommandText = "SELECT cpf_cadastro FROM tb_cadastro WHERE cpf_cadastro = ?"
  MM_rsKey_cmd.Prepared = true
  MM_rsKey_cmd.Parameters.Append MM_rsKey_cmd.CreateParameter("param1", 200, 1, 255, MM_dupKeyUsernameValue) ' adVarChar
  Set MM_rsKey = MM_rsKey_cmd.Execute
  If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then 
    ' the username was found - can not add the requested username
    MM_qsChar = "?"
    If (InStr(1, MM_dupKeyRedirect, "?") >= 1) Then MM_qsChar = "&"
    MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue
    Response.Redirect(MM_dupKeyRedirect)
  End If
  MM_rsKey.Close
End If
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
  If condition = "" Then
    MM_IIf = ifFalse
  Else
    MM_IIf = ifTrue
  End If
End Function
%>
<%
If (CStr(Request("MM_insert")) = "form1") Then
  If (Not MM_abortEdit) Then
    ' execute the insert
    Dim MM_editCmd

    Set MM_editCmd = Server.CreateObject ("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_conn_STRING
    MM_editCmd.CommandText = "INSERT INTO tb_cadastro (nome_cadastro, cidade_cadastro, email_cadastro, telefone_cadastro, cpf_cadastro, rg_cadastro, senha_cadastro, regulamento_cadastro) VALUES (?, ?, ?, ?, ?, ?, ?, ?)" 
    MM_editCmd.Prepared = true
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 255, Request.Form("nome_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 255, Request.Form("cidade_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 255, Request.Form("email_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 202, 1, 255, Request.Form("telefone_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param5", 202, 1, 255, Request.Form("cpf_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param6", 202, 1, 255, Request.Form("rg_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param7", 202, 1, 255, Request.Form("senha_cadastro")) ' adVarWChar
    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param8", 202, 1, 255, Request.Form("regulamento")) ' adVarWChar
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    ' append the query string to the redirect URL
    Dim MM_editRedirectUrl
    MM_editRedirectUrl = "envia_cadastro.asp"
    If (Request.QueryString <> "") Then
      If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
        MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
      Else
        MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
      End If
    End If
    Response.Redirect(MM_editRedirectUrl)
  End If
End If
%>

estes dois codigos estão no mesmo arquivo q se chama cadastro.asp

Link para o comentário
Compartilhar em outros sites

  • 0

cara... você tá usando o DW pra fazer seus codigos né?

Vou te dizer... esse não é um bom caminho...

Todo caso... sugiro ainda testar uma última vez o recebimento da variavel email assim:

email = request.Form("email_cadastro")
'inicio debug
response.write "email = " & email & "<BR>"
response.end
'fim debug

Depois coloque aqui o resultado desse debug...

[]'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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...