Um problema comum que muitos desenvolvedores enfrentam ao criar um formulário que envia um e-mail de um site enquanto o formulário não tem um Captcha, é que o destinatário geralmente recebe muitos e-mails de spam de bots de publicidade.
Uma solução fácil para esse problema consiste em três partes:
Adicione uma entrada oculta em seu formulário
<form id="your_form" action="some_action_if any">
...
<input type="hidden" id="some_unique_id" name="some_pretty_normal_name" value="value_to_remove" />
...
</form>Ao enviar o formulário, esvazie a entrada oculta
/* This example is given with jQuery, though it can be implemented however you like. */
$(document).ready(function() {
$("#your_form").submit(function() {
$("#some_unique_id").val('');
});
});No lado do servidor, envie o e-mail apenas se a entrada oculta estiver vazia
<?php
...
if (!isset($_REQUEST['some_pretty_normal_name']) || empty($_REQUEST['some_pretty_normal_name'])) {
...
mail($to, subject, $body, $headers);
}
...
?>
E é isso !
Este método foi verificado em http://streamer.co.il depois de ter sido spam por anúncios arbitrários e agora eles recebem e-mails de seres humanos reais 🙂