Como posso classificar os remetentes de e-mail (endereços "de" distintos) pela quantidade total de espaço que as mensagens cumulativas de cada remetente (incluindo corpos e anexos) estão ocupando na minha conta do Gmail? Estou pensando em algo como:
- Baixe todas as minhas mensagens para um cliente local como o Thunderbird via IMAP
- De alguma forma, converta os dados do email em um banco de dados que possa ser consultado
- Use algo como SQL para consultar o banco de dados e obter o tamanho total da mensagem por remetente
Alguém pode me ajudar a esclarecer isso um pouco?
Você pode fazer isso no Thunderbird sem software externo.
Etapa 1: obtenha os dados
Acesse o Google Takeout ( https://takeout.google.com/ ) e baixe uma cópia completa de todas as suas mensagens do Gmail. Você obterá tudo no formato MBOX que poderá importar para o cliente.
OU configure o cliente para baixar diretamente as mensagens usando IMAP .
Etapa 2: Agrupe os e-mails
Vá para sua Caixa de entrada, selecione no canto superior direito o ícone de Opções de lista de exibição de mensagens e selecione Visualização em tabela
Selecione o mesmo ícone novamente e na opção Classificar por , selecione De
Por fim, selecione o mesmo ícone novamente e na opção Classificar por , selecione Agrupado por classificação
Etapa 3: revise os dados
Clique em cada grupo. No lado da visualização da mensagem, na parte inferior, você receberá um prompt com o tamanho acumulado daquele grupo de e-mails.
Por exemplo, dirá algo como “Essas mensagens ocupam 4,7 KB”.
Eu uso um script para fazer basicamente isso. Embora não seja diretamente compartilhável pelo superusuário, aqui estão as etapas básicas que ele executa:
SELECT
uma determinada pasta²SEARCH
e-mails de um determinado intervalo((SINCE "<date>") (NOT DELETED))
FETCH
para cada e-mail³ os campos(RFC822.SIZE BODY.PEEK[HEADER.FIELDS (FROM)])
Para uma execução única, você pode até fazer isso manualmente em uma única sessão (que você está copiando para um arquivo para análise posterior). Lembre-se de que o IMAP exige que você prefixe cada comando com uma tag (arbitrária)⁴ e que a resposta terá a mesma tag, mas também pode haver respostas não marcadas misturadas.
A sessão pode ser assim:
Nota: Os tamanhos de e-mail acima são 9999, 9989 e 9889. O
UID FETCH
intervalo 1:65530 é baseado em UIDNEXT sendo 65530.¹ A maneira mais fácil no Gmail hoje seria usar uma senha de aplicativo. Atualmente, isso está disponível apenas com 2FA habilitado.
² No seu caso, você estaria interessado na “pasta” especial “Todos os e-mails” do Gmail. Use um com apenas alguns itens para teste.
³ Na verdade, em lotes de 100 emails.
⁴ x1, x2, x3, x4, x5 na amostra