Seu e-mail está de dieta ou já comeu todo o armazenamento?
Verificando cota com PHP.......
Fala dev.. blz?
Sabe aquele momento em que alguém tenta te mandar um e-mail e recebe uma mensagem dizendo que sua caixa está cheia? Pois é. A caixa de entrada estava lá, tranquila, acumulando boletos, newsletters esquecidas, anexos gigantes e aquele PDF chamado final_agora_vai_versao_7.pdf, até que um dia ela simplesmente grita: chega.
A boa notícia é que dá para verificar a quantidade de espaço usado na caixa de e-mail com PHP usando IMAP. A ideia é simples: conectar ao servidor de e-mail, perguntar qual é a cota de armazenamento e mostrar para o usuário se ainda tem espaço ou se já está na hora de fazer aquela faxina digital.
Aviso importante: nunca publique usuário, senha ou senha de aplicativo em posts, repositórios ou prints. No exemplo abaixo, use variáveis de ambiente para proteger suas credenciais. Senha exposta na internet é igual deixar a chave de casa embaixo do tapete com uma placa escrito “pode entrar”.
O que esse código faz?
O script conecta ao servidor IMAP, acessa a caixa de entrada e tenta consultar a cota de armazenamento. Se conseguir, ele mostra quanto espaço está sendo usado, qual é o limite total e a porcentagem ocupada. Se a caixa estiver acima de 90%, ele manda aquele recado carinhoso: está na hora de apagar uns anexos de 2014.
<?php
$mailbox = "{imap.gmail.com:993/imap/ssl}";
$user = getenv('IMAP_USER');
$password = getenv('IMAP_PASSWORD');
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Verificador de Cota</title>
</head>
<body>
<div id="status">
<p id="msg1">Conectando ao servidor IMAP... segure seu café.</p>
<p id="msg2" style="display:none">Verificando a cota de armazenamento... procurando os e-mails obesos.</p>
</div>
<div id="resultado" style="display:none">
<?php
sleep(2);
$imap = imap_open($mailbox, $user, $password);
if ($imap) {
$quota = imap_get_quotaroot($imap, "INBOX");
if (is_array($quota) && isset($quota['STORAGE'])) {
$usage = $quota['STORAGE']['usage'];
$limit = $quota['STORAGE']['limit'];
$percentual = ($usage / $limit) * 100;
echo "Conexão concluída com sucesso! ";
echo "Cota de armazenamento: ";
echo "Em uso: " . round($usage / 1024, 2) . " MB / " . round($limit / 1024, 2) . " MB ";
echo "Porcentagem: " . round($percentual, 2) . "% ";
if ($percentual >= 90) {
echo "Alerta: sua caixa de e-mail está quase pedindo aposentadoria. Hora da faxina!";
} else {
echo "Tudo certo! Sua caixa ainda tem espaço para mais boletos, newsletters e anexos misteriosos.";
}
} else {
echo "Não foi possível obter informações de cota. O servidor ficou tímido.";
}
imap_close($imap);
} else {
echo "Erro ao conectar: " . imap_last_error();
}
?>
</div>
<script>
setTimeout(() => {
document.getElementById('msg1').style.display = 'none';
document.getElementById('msg2').style.display = 'block';
}, 1000);
setTimeout(() => {
document.getElementById('status').style.display = 'none';
document.getElementById('resultado').style.display = 'block';
}, 2000);
</script>
</body>
</html>Como configurar com segurança
Em vez de colocar login e senha diretamente no arquivo PHP, configure variáveis de ambiente no servidor. Assim, o código fica mais seguro e você evita transformar suas credenciais em conteúdo público.
export IMAP_USER="seu-email@gmail.com"
export IMAP_PASSWORD="sua-senha-de-aplicativo"
No PHP, você recupera esses valores com:
$user=getenv('IMAP_USER');
$password=getenv('IMAP_PASSWORD');
Esse cuidado é especialmente importante quando você usa contas do Gmail, porque normalmente será necessário utilizar uma senha de aplicativo, e não a senha principal da conta. Mesmo assim, essa senha deve ser tratada como informação sensível.
Pequenas melhorias que deixam o código mais simpático
Além de mostrar os números, o código também usa mensagens de carregamento no HTML com JavaScript. Isso dá uma sensação de progresso para o usuário, em vez de deixar a tela parada parecendo que o PHP foi tirar um cochilo.

Conclusão
Com poucas linhas de PHP, dá para criar um verificador simples de espaço da caixa de e-mail. Ele conecta ao IMAP, consulta a cota, calcula a porcentagem usada e ainda avisa se a caixa está perto de virar um depósito arqueológico de anexos antigos.
No fim das contas, monitorar a cota do e-mail é como cuidar da geladeira: se você nunca olha, uma hora aparece coisa vencida, ocupa espaço e ninguém sabe de onde veio.

Comentários
Realize login para comentar neste post