Relatório de uso de caixa postal
Publicado por Anderson Irias Hermogenes (última atualização em 22/12/2016)
[ Hits: 3.451 ]
Homepage: https://irias.com.br
Script gera um relatório sobre o uso de caixa de correio, informando o tamanho total da caixa postal e quantidade de quota utilizada. Realiza também a listagem de todas as pastas e subpastas da caixa postal, informando o total de mensagens da pasta, quantidade de mensagens não lidas, e o tamanho total de utilização de quota da pasta. Para isto o script se conecta ao e-mail utilizando o protocolo IMAP na porta 143.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Relatório de uso do Email</title>
</head>
<body>
<h4>Dados da conta que será analisada.</h4>
<form method="POST" action="relatorioemail.php">
<input type="text" name="host" placeholder="Host">
</br></br>
<input type="email" name="email" placeholder="E-mail">
</br></br>
<input type="password" name="senha" placeholder="Senha">
</br></br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
<?php
if($_POST){
$host = $_POST['host'];
$usuario = $_POST['email'];
$senha = $_POST['senha'];
$emailRaiz = imap_open("{".$host.":143/novalidate-cert}INBOX", $usuario, $senha);
if(!$emailRaiz){
echo imap_errors();
}else{
$dadosQuota = imap_get_quotaroot($emailRaiz, "INBOX");
if (is_array($dadosQuota)) {
$quota = $dadosQuota['STORAGE'];
echo "</br></br>Tamanho total da conta em KB: ".$quota['limit'];
echo "</br>Quantidade utilizada em KB: ".$quota['usage'];
}else{
echo "</br></br>Falha ao obter tamanho total da conta e a quantidade já utilizada";
}
$listaPastas = imap_getmailboxes($emailRaiz, "{".$host."}", "*");
if(is_array($listaPastas)){
echo ("</br><h4>Lista de pastas da conta de e-mail</h4></br>");
foreach ($listaPastas as $pasta => $valorPastas){
echo str_replace("{".$host."}", "", $valorPastas->name)."</br>";
$pastaEspecifica = str_replace("}", ":143/novalidate-cert}", $valorPastas->name);
$emailPasta = imap_open($pastaEspecifica, $usuario, $senha);
if(!$emailPasta){
echo "Erro ao tentar listar a pasta ".$valorPastas->name;
print_r(imap_errors());
}else{
$info = imap_mailboxmsginfo($emailPasta);
if($info){
echo "Total de mensagens: ".$info->Nmsgs."</br>";
echo "Mensagens não lidas:".$info->Unread."</br>";
echo "Tamanho total: ".$info->Size." Bytes</br>";
echo "</br>";
}else{
echo "Erro ao obter os detalhes das pastas:".imap_last_error();
}
$emailPasta = imap_close($emailPasta);
}
}
}else{
echo "Nao consegui obter a lista de pastas:".imap_last_error();
}
$emailRaiz = imap_close($emailRaiz);
}
}
?>
Correio eletronico no seu site
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









