You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计Gmail账户中各发件人占用空间并按占用量排序?

如何统计Gmail账户中各发件人占用空间并按占用量排序?

嘿,你的思路方向完全对!我来帮你把这个方案细化得更落地,一步步来:

第一步:用Thunderbird通过IMAP下载全部Gmail邮件

  • 先打开Thunderbird,添加Gmail账户:选择「新建」-「邮件账户」,输入你的Gmail地址,系统会自动识别IMAP配置;如果开启了两步验证,记得用Gmail应用专用密码登录(别用日常登录密码)。
  • 登录后,右键点击左侧的Gmail账户,选择「设置」,在「同步与存储」选项里,把「同步到此设备的邮件」改成「所有邮件」,确保归档、已发送、垃圾邮件等你想统计的文件夹都同步下来。
  • 耐心等待同步完成,邮件会存在Thunderbird的本地Profile文件夹里,格式为MBOX(每个邮件文件夹对应一个MBOX文件)。

第二步:把MBOX邮件数据导入数据库(以SQLite为例,轻量又好用)

你可以用Python写个简单脚本处理,比找现成工具更灵活:

  1. 先安装必要的库:在终端里运行 pip install python-mbox
  2. 脚本核心逻辑大概是这样:
    • 导入mbox、email.utils和sqlite3模块
    • 连接SQLite数据库,创建存储表:
      CREATE TABLE IF NOT EXISTS email_sizes (
          sender TEXT,
          size INTEGER
      );
      
    • 遍历MBOX文件里的每封邮件:
      • 用email.utils.parseaddr(message['From'])提取纯邮箱地址(避免显示名干扰,比如从「张三 zhangsan@xxx.com」里掏出真实邮箱)
      • 计算邮件总大小:len(message.as_bytes())(这个数值包含邮件正文、附件的所有内容)
      • 把发件人邮箱和对应大小插入数据库表中
  3. 运行脚本,等处理完所有邮件,你就有了一份结构化的邮件数据。

第三步:SQL查询统计并按占用量排序

打开SQLite命令行工具(或者用可视化工具比如DB Browser for SQLite),连接你生成的数据库,执行这条查询语句:

SELECT 
    sender,
    SUM(size) AS total_bytes,
    ROUND(SUM(size)/1024/1024, 2) AS total_mb,
    ROUND(SUM(size)/1024/1024/1024, 2) AS total_gb
FROM email_sizes
GROUP BY sender
ORDER BY total_bytes DESC;

这条语句会按发件人分组,算出每个发件人占用的总字节、MB、GB,并且从大到小排序,结果一目了然。

额外小提示

  • 如果邮件量特别大,同步和脚本处理可能要花几小时,别着急,后台跑就行
  • 发件人可能有拼写错误或别名?可以在SQL里加TRIM(sender)清理空格,或者用模糊匹配合并相似发件人
  • 要是不想写Python脚本,也可以用本地的MBOX分析工具,但自己写脚本能完全掌控数据处理逻辑

备注:内容来源于stack exchange,提问作者MiguelitoCogito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:48:10