Mail Function Error () Platform Windows Uol Host. Returns 1 (True) but the email does not reach the recipient!

0

I have two simple functions that trigger email (Retrieve Password). One works perfectly, the other does not make a mistake, but the email does not reach the recipient. I would like a possible solution, thanks in advance! Home FUNCTION 1 (I forgot my password) - It randomly creates a new password, encrypts it and sends it to the user's email.

public function check_userlogin () {  
  if(isset($_POST['ResultadoConta']) 
                    && ( $_POST['ResultadoConta'] != null)
                    ){
                $email = $_POST['RecuperarEmail'];
                $resposta = $_POST['ResultadoConta'];
                if( $_POST['ResultadoConta'] == 0){
                    //consulta na BD se o email existe
                    $query = $this->db->query(
            'SELECT * FROM usu_usuarios WHERE usu_email = ? LIMIT 1',
                            array ($email)
        );
                    // Obtém os dados da base de usuário
        $fetch = $query->fetch(PDO::FETCH_ASSOC);

        // Obtém o ID do usuário
        $user_id = (int) $fetch['usu_id'];
                $user_status = (int) $fetch['usu_status'];

        // Se os dados estiverem nulos e o email não existir exibir a mensagem
        if ( empty( $user_id ) || $user_status == 0 ) {
                    $this->login_error = 'Usuário Não Encontrado.';
            return;
                }else{
                    //se existir o sistema atualiza a senha (randomicamente) na BD, dispara email com nova senha
                    $aleatorio = rand(6, 6); // 6 CARACTERES
                    $valor = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz0123456789@#$%&"), 0, $aleatorio);

                   $password_hash = new PasswordHash(8, FALSE);
        // Cria o hash da senha
        $password = $password_hash->HashPassword($valor);

                    //update na base de dados
                    $query = $this->db->query(
            'UPDATE usu_usuarios SET usu_senha=? WHERE usu_id=?;',
                            array ($password,$user_id)
        );

                    //disparando email
                    $from = "[email protected]";

                    $to = $email;

                    $subject = "SD Vale - Nova Senha ";

                    $message = "<p><b>RECUPERAÇÃO DE SENHA</b> <br /><br /><b>Nova senha:</b> ".$valor."</p>";
$headers  = 'MIME-Version: 1.0' . "\r\n";
      $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
                    $headers .= "De:". $from;


                    mail($to, $subject, $message, $headers);

                    $this->form_msg = 'A solicitação para recuperar a senha foi enviada. Não esqueça de olhar a caixa de LIXO ELETRÔNICO ou SPAM S.';
            return;

                } 
                }else{
                    $this->login_error = 'Resposta Incorreta, tente novamente!';
                }

            }
}


FUNCTION 2 (DOES NOT WORK) - The system retrieves a coded password, decodes and sends an email with the registered password.

public function Recuperar_Senha() {
            //recuperar senha
            if(isset($_POST['RecuperarResultado']) 
                    && ( $_POST['RecuperarResultado'] != null)
                    ){
                $email = $_POST['RecuperarEmail'];
                $resposta = $_POST['RecuperarResultado'];
                if( $_POST['RecuperarResultado'] == 0){
                    //consulta na BD se o email existe
                    $query = $this->db->query(
            'SELECT * FROM usu_usuarios WHERE usu_email = ? LIMIT 1',
                            array ($email)
        );
                    // Obtém os dados da base de usuário
        $fetch = $query->fetch(PDO::FETCH_ASSOC);

        // Obtém o ID do usuário
        $user_id = (int) $fetch['usu_id'];
                $user_status = (int) $fetch['usu_status'];
                $user_pass = base64_decode($fetch['usu_senha']);

        // Se os dados estiverem nulos e o email não existir exibir a mensagem
        if ( empty( $user_id ) || $user_status == 0 ) {
                    $this->login_error = 'Usuário não Encontrado.';
            return;
                }else{               
                    //disparando email

                    $from = "[email protected]";

                    $to = $email;

                    $subject = "SD Vale - Recuperar Senha ";

                    $message = "<p><b>RECUPERAÇÃO DE SENHA</b> <br /><br /><b>A sua senha é: </b> ".$user_pass."</p>";
$headers  = 'MIME-Version: 1.0' . "\r\n";
      $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
                    $headers .= "De:". $from;

                    mail($to, $subject, $message, $headers);

                    $this->form_msg = 'A solicitação para recuperar a senha foi enviada. Não esqueça de olhar a caixa de LIXO ELETRÔNICO ou SPAM S.';
                    return;
                }

                }else{
                    $this->login_error = 'Resposta Incorreta, tente novamente!';
                }

            }
    }

Additional Information: -I already tried the 5th Parameter ("-r $ email" or "-f $ email") and nothing!
-I'm using the code that the Uol Host itself suggests.

    
asked by anonymous 09.10.2018 / 21:44

0 answers