Jump to content
Sign in to follow this  
Patrick Ramiro

Não permitir que o usuário envie email várias vezes.

Recommended Posts

No caso de um formulário, uma opção seria desabilitar (via js) o botão do submit após o clique;

Para outras situações, depende, mas poderia trabalhar com cookies, sessions, bd, etc... para verificar se a operação já foi executada e bloqueá-la.

Att.

Share this post


Link to post
Share on other sites

Public 2004 você acha que seria uma boa solução criar uma session para cada usuário quando enviar o email usando o session id , quando essa session for criada bloqueio o envio , e pra liberar o envio novamente uso o session time out definindo o tempo que desejo . você acha que assim iria funcionar bem ou eu iria enfrentar algum tipo de problema ou dificuldade com o servidor ?

Share this post


Link to post
Share on other sites

Difícil dizer... o ideal é analisar o projeto como um todo além do servidor, tráfego, etc e em específico essa aplicação, para então, decidir qual o melhor método a aplicar.

Att.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By vinihhylian0103
      Esse é o código que estou tentando usar:
       
      <?php $nome = $_POST['nome']; $arquivo = $_FILES["arquivo"]; $assunto = $_POST['assunto']; // Para quem vai ser enviado o email $para = $_POST['email']; $boundary = "XYZ-".date("dmYis")."-ZYX"; $fp = fopen($arquivo["tmp_name"], "rb"); // abre o arquivo enviado $anexo = fread($fp, filesize($arquivo["tmp_name"])); // calcula o tamanho $anexo = base64_encode($anexo); // codifica o anexo em base 64 fclose($fp); // fecha o arquivo // cabeçalho do email $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/mixed; "; $headers .= "boundary='$boundary'\r\n"; $headers .= "$boundary\n"; // email $mensagem = "--$boundary\n"; $mensagem .= "Content-Type: text/html; charset='utf-8'\n"; $mensagem .= "<strong>Nome: </strong> $nome \r\n"; $mensagem .= "--$boundary \n"; // anexo $mensagem .= "Content-Transfer-Encoding: base64 \n"; $mensagem .= "Content-Disposition: attachment; filename=\"".$arquivo['name']."\" \r\n"; $mensagem .= "$anexo \n"; $mensagem .= "--$boundary \n"; // enviar o email mail($para, $assunto, $mensagem, $headers); ?> e estou tendo o seguinte erro:
      ( ! ) Warning: mail(): Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() in C:\wamp\www\email\email.php on line 28 Call Stack # Time Memory Function Location 1 0.0010 385096 {main}( ) ...\email.php:0 2 0.0430 386472 mail ( ) ...\email.php:28
    • By vinihhylian0103
      É possível anexar um arquivo e enviá-lo por email via PHP? Se sim, alguém poderia me dar uma ajuda com isso por favor, é realmente muito importante para meu projeto do TCC.
    • By fsanchez
      Olá Pessoal!
       
       
      Para auxilio de outros desenvolvedores que estão iniciando com WEBHOOK, segue algumas dicas que obtive desenvolvendo um webhook.
       
      Webhook de forma resumida:
       
      - Webhooks permitem criar integrações que comunicam eventos ocorridos nos documentos da plataforma da Clicksign. Quando um evento ocorre, a Clicksign notifica a sua aplicação imediatamente, através de uma requisição HTTP POST para a URL previamente cadastrada.
       
      Eventos dentro do webhook
      - Quando ocorrerem eventos nos documentos, uma requisição HTTP POST será disparada para a URL previamente cadastrada nas configurações da conta. 
       
      Aqui que vem a dica:
      O servidor cliente faz uma requisição, e aguarda uma resposta da sua aplicação, informando se você recebeu a requisição:
      - Responda a requisição do Webhook com uma resposta HTTP 200 OK. Qualquer resposta fora do intervalo 2XX informará que você não recebeu seu webhook.
       
      exemplo em  ASP :
       
      Response.ContentType = "application/json"
      Response.Status="HTTP/1.1 200 OK"
       
      Depois é só alegria, tratar dados recebidos.
      exemplo:
       
      ATRAVES DO SERVERVARIABLES CONSIGO OBERTER O RESULTADO DA REQUISIÇÃO

      cabecalho_completo = Request.ServerVariables("ALL_HTTP") 
      content_type = Request.ServerVariables("CONTENT_TYPE")
      ...etc...
       
       
      Pra voce conseguir pegar o json, isso em ASP,  será necessario converte - lo em Tipo Byte, depois em String para você se quiser obter alguma tag do JSON para algum tratamento.
      exemplo:
       
      Dim lngBytesCount
      lngBytesCount = Request.TotalBytes
      jsonstring = BytesToStr(Request.BinaryRead(lngBytesCount))

      Function BytesToStr(bytes)
          Dim Stream
          Set Stream = Server.CreateObject("Adodb.Stream")
          Stream.Type = 1 'tipo de dados binarios
              Stream.Open
              Stream.Write bytes
              Stream.Position = 0
          Stream.Type = 2 'tipo de dados texto
              Stream.Charset = "iso-8859-1"
              BytesToStr = Stream.ReadText
              Stream.Close
          Set Stream = Nothing
      End Function

      'Instancio o obejto JSON'
      Set oJSON = New aspJSON
      'Carrego a String JSON
      oJSON.loadJSON(jsonstring)
      'Obter valor simples
      nome_tag = oJSON.data("tagJSON").item("tagJSON")
       
       
       
       
       
    • By fsanchez
      Como Posso recuperar o retorno do JSON que foi enviado via POST de uma requisição Webhook em asp classic.
       
      Precisaria mais ou menos assim:
       
      POST / HTTP/1.1 Host: testecrm.requestcatcher.com Accept: */* Accept-Encoding: gzip, deflate Content-Hmac: sha256=fc9e789996bdd63c0f03dacccb1ef992310d8516d9e8673bce5b1d0825100cda Content-Length: 5363 Content-Type: application/json Event: add_signer User-Agent: rest-client/2.0.2 (linux-musl x86_64) ruby/2.6.3p62 X-Newrelic-Id: VQUDV1JXGwICU1RWBggDUg== X-Newrelic-Transaction: PxQHAAQGDldRU1lWVgUGAFIIFB8EBw8RVU4aUllaUQRXBA5ZBQAHUwIADkNKQQoKA1IAVwAEFTs=  
       
    • By s3c0
      Fala pessoal,
       
      estou com um probleminha com uma integração, onde preciso ler um resposta JSON em ASP Clássico.
       
      a resposta é
       
      {"id":1,"name":"PAC","price":"45.65","custom_price":"45.65","discount":"7.41","currency":"R$","delivery_time":8,"delivery_range":{"min":8,"max":8},"custom_delivery_time":8,"custom_delivery_range":{"min":8,"max":8},"packages":{"price":"45.65","discount":"7.41","format":"box","dimensions":{"height":20,"width":20,"length":20},"weight":"1.00","insurance_value":"1000.00","products":{"id":"teste1","quantity":1}},"additional_services":{"receipt":true,"own_hand":false,"collect":false},"company":{"id":1,"name":"Correios","picture":"https:\/\/sandbox.melhorenvio.com.br\/images\/shipping-companies\/correios.png"}},{"id":2,"name":"EXPRESSO","price":"68.51","custom_price":"68.51","discount":"11.95","currency":"R$","delivery_time":5,"delivery_range":{"min":5,"max":5},"custom_delivery_time":5,"custom_delivery_range":{"min":5,"max":5},"packages":{"price":"68.51","discount":"11.95","format":"box","dimensions":{"height":20,"width":20,"length":20},"weight":"1.00","insurance_value":"1000.00","products":{"id":"teste1","quantity":1}},"additional_services":{"receipt":true,"own_hand":false,"collect":false},"company":{"id":1,"name":"Correios","picture":"https:\/\/sandbox.melhorenvio.com.br\/images\/shipping-companies\/correios.png"}},{"id":3,"name":".Package","price":"33.51","custom_price":"33.51","discount":"15.58","currency":"R$","delivery_time":6,"delivery_range":{"min":5,"max":6},"custom_delivery_time":6,"custom_delivery_range":{"min":5,"max":6},"packages":{"format":"box","dimensions":{"height":20,"width":20,"length":20},"weight":"1.00","insurance_value":"1000.00","products":{"id":"teste1","quantity":1}},"additional_services":{"receipt":true,"own_hand":false,"collect":false},"company":{"id":2,"name":"JadLog","picture":"https:\/\/sandbox.melhorenvio.com.br\/images\/shipping-companies\/jadlog.png"}},{"id":4,"name":".Com","price":"32.63","custom_price":"32.63","discount":"26.48","currency":"R$","delivery_time":5,"delivery_range":{"min":4,"max":5},"custom_delivery_time":5,"custom_delivery_range":{"min":4,"max":5},"packages":{"format":"box","dimensions":{"height":20,"width":20,"length":20},"weight":"1.00","insurance_value":"1000.00","products":{"id":"teste1","quantity":1}},"additional_services":{"receipt":true,"own_hand":false,"collect":false},"company":{"id":2,"name":"JadLog","picture":"https:\/\/sandbox.melhorenvio.com.br\/images\/shipping-companies\/jadlog.png"}}  
      Tenho a seguinte página para receber essa resposta
       
      <!--#include file="includes/json2.asp"--> <% Dim objXML, Result Set objXML = Server.CreateObject("Microsoft.XMLHTTP") On Error Resume Next For i = 1 To 3 objXML.Open "POST" , url, False , "", "" objXML.setRequestHeader "content-type", "application/json" objXML.setRequestHeader "accept", "application/json" objXML.setRequestHeader "authorization", "Bearer " & Bearer objXML.Send variavel_json If Err.Number = 0 Then Result = objXML.ResponseText end if Exit For Next Set objXML = Nothing Result = replace(replace(Result,"[",""),"]","") a=Split(Result,".png""}},") For Each x In a set x = JSON.parse(Result) Response.write(x.name & vbNewline) Response.write(x.price & vbNewline) Response.write(x.delivery_time & vbNewline) Response.write(x.company.name & vbNewline) Next %> O que ocorre, é que imprimi somente a última linha
       
      Print
      .Com 32.63 5 JadLog .Com 32.63 5 JadLog .Com 32.63 5 JadLog .Com 32.63 5 JadLog  
       
      Alguém poderia me dizer onde estou errando?
       
      Agradeço a atenção de todos!
       
      Abraços
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.