Error while sending recaptcha

Asked

Viewed 147 times

0

an error occurs when I try to send an email with reCaptcha

ERROR:

Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/sporalcenter/public_html/envia.php on line 18

Warning: file_get_contents(https://www.google.com/recaptcha/api/siteverify?secret=6LcT8a4UAAAAAJAL2V73sNzlplXwCoV95Nq_qtkj&response=03AOLTBLT5BchbeA_FN9HXT9ikxFgGAaAooyKIwe9Wre-nfKSpDKspGWj0A9HhwDIPFn3K5PR53-FG0IZHgB_k9J3M_mwTK4ttNZm8JOUYkisDnN5BDSHf9yu43QbMLWsNoOslrRyGcUGM-_5XG3UrU2yy7yUhK2pjbJjQWTDEkTYndJMQKWzVSfywsV6u00Cs3ibCMYx1GV1jyBcQLAI8sBTsZD6GIRoJHbxbvM1LMKLIF2728swAC1aBuemJ_haWX-cbFd93V-mcN8YM2BtzJp3Gqo7STBh1_1D1ZKJW94W8SLbDdvRboyYVOLLOVJBAr4TGl8jp7ZgldzZQEzQU7ImI-CMDULALH1y7NIItLEiNsBF1LWCFWw1dGpt3ApcMqwu7d9tXLTUsi11jK9MTBJvLu8vXv9bgJA): failed to open stream: no suitable wrapper could be found in /home/sporalcenter/public_html/envia.php on line 18
Por favor faça a verificação do captcha abaixo

Code sends.php

<?php


$secret_key = '6LcT8a4UAAAAAJAL2V73sNzlplXwCoV95Nq_qtkj';


$recaptcha_response = $_POST['g-recaptcha-response'];

if(isset($recaptcha_response)){


    $answer =
        json_decode(
            file_get_contents(
                'https://www.google.com/recaptcha/api/siteverify?secret='.$secret_key.
                '&response='.$_POST['g-recaptcha-response']
            )
        );

    // Se a ação do usuário foi correta executo o restante do meu formulário
    if($answer->success) {

        $nome = $_POST['nome'];
        $email = $_POST['email'];
        $telefone = $_POST['telefone'];
    $assunto = $_POST['assunto'];
        $mensagem = $_POST['mensagem'];


        // Carrego a classe PHPMailer através do Autoload
        include "phpmailer/PHPMailerAutoload.php";

        // Instancio a classe PHPMailer
        $msg = new PHPMailer();

        // Faço todas as configurações de SMTP para o envio da mensagem
        $msg->CharSet = "UTF-8";
        $msg->isSMTP();
        $msg->Host = 'ssl://mail.villageeducacaoinfantil.com.br';
        $msg->SMTPAuth = true;
        $msg->Username = '[email protected]';
        $msg->Password = 'WkJJu336Otimi';
        $msg->Port = 465;
        $msg->SMTPSecure = 'ssl';
        $msg->SMTPAutoTLS = false;
        $msg->AuthType = 'PLAIN';

        //Defino o remetente da mensagem
        $msg->setFrom('[email protected]','Formulario de Contato');


        // Defino a mensagem como mensagem de texto (Ou seja não terá formatação HTML)
        $msg->IsHTML(false);

        // Adiciono o destinatário desta mensagem, no caso,
        //minha conta de contatos comerciais.
        $msg->AddAddress('[email protected]', '[email protected]');

        // Defino o assunto que foi digitado no formulário
        $msg->Subject = "Nome: {$nome} | Telefone: {$telefone} ";
        $msg->msgHTML("<html>De: {$nome}<br>Email: {$email} <br>Telefone: {$telefone} <br> Assunto: {$assunto} <br>Mensagem: {$mensagem}   </html>");
        $msg->addAttachment($meudiretorio.$nomes);
        $msg->AltBody = "De: {$nome}\nEmail: {$email}\nTelefone: {$telefone}\n Assunto: {$assunto}\nMensagem: {$mensagem}";



        // Faço o envio da mensagem
        $enviado = $msg->Send();

        // Limpo todos os registros de destinatários e arquivos
        $msg->ClearAllRecipients();

        // Caso a mensagem seja enviada com sucesso ela retornará sucesso
        // senão, ela retornará o erro ocorrido
        if ($enviado){
            echo "<div align='center'><img src='images/logo-novo.jpg'></div>";
            echo "<h1 class='text-center'>Email enviado com sucesso em breve retornaremos</h1>";
            echo "<div align='center'><a href='index.php'><button class='btn btn-default'>Voltar</button></a></div>";
        }
        else {
            echo "Não foi possível enviar o e-mail.";
            echo "<b>Informações do erro:</b> " . $msg->ErrorInfo;
        }
    }

    // Caso o Captcha não tenha sido validado
    //retorno uma mensagem de erro.
    else {
        echo "Por favor faça a verificação do captcha abaixo";
    }
}

?>

Contact code.php

<form action="envia.php" method="POST">
    <div class="form-group">
        <input class="form-control" name="nome" type="text" placeholder="Nome:" required> </div>
    <div class="form-group">
        <input class="form-control" name="email" type="email" placeholder="Email:" required> </div>
    <div class="form-group">
        <input class="form-control" name="telefone" type="number" placeholder="Telefone:" required> </div>
    <div class="form-group">
        <input class="form-control" name="assunto" type="text" placeholder="Assunto:" required> </div>
    <div class="form-group">
        <textarea class="form-control" name="mensagem" rows="6" type="text" placeholder="Mensagem:" required></textarea>
    </div>
    <div class="g-recaptcha" data-sitekey="6LcT8a4UAAAAAAhrEt-ljduh-PS8bQ-h36BYpTkL"></div>
    <div align="center">
        <button  type="submit" class="btn btn-meu">Enviar</button>
    </div>
</form>

1 answer

0

The warning message you received is very clear as to why:

Warning: file_get_contents(): https:// wrapper is disabled in the server Configuration by allow_url_fopen=0 in /home/sporalcenter/public_html/envia.php on line 18

Where it says your server is configured with allow_url_fopen=0, which blocks access to Urls through the function file_get_contents.

See the documentation:

allow_url_fopen boolean

This option activates the URL device fopen Wrappers which allows access to URL objects as files. They are available by default Wrappers for remote file access using FTP or HTTP protocols, and some extensions such as zlib can register Wrappers additional. [sic]

That is, if you need to request with this function, just configure the server properly. Note that for security reasons this property can only be changed directly in php.ini

Browser other questions tagged

You are not signed in. Login or sign up in order to post.