You need to enable JavaScript to run this app. Gmail getFrom()返回别名而非真实发件人,求代发邮件发件人获取代码
优惠活动
大模型
产品
解决方案
定价
更多

Gmail getFrom()返回别名而非真实发件人,求代发邮件发件人获取代码

代发模式下实际发件人读取实现方案

你之前使用的message.getFrom()方法仅会提取邮件对外展示的From头字段内容,在别名代发场景下,这个字段会固定显示团队通用账号信息,符合Gmail代发的对外展示逻辑。实际提交邮件的团队成员信息,会被Gmail写入标准邮件头Sender字段中,这就是你需要读取的"实际发件人"来源。

核心Apps Script代码

将以下代码粘贴到绑定团队通用账号的Google Sheets脚本编辑器中运行即可完成统计:

function countSentEmailsByMember() {
  // 拉取团队账号已发送邮件,可按需调整分页参数拉取全量数据
  const sentThreads = GmailApp.search("in:sent", 0, 500);
  // 初始化统计容器
  const senderStats = {};

  sentThreads.forEach(thread => {
    // 遍历线程内所有邮件,避免遗漏同线程的多封邮件
    thread.getMessages().forEach(message => {
      // 读取代发场景下实际发件人对应的Sender头字段
      const rawSender = message.getHeader("Sender");
      // 无Sender头的历史邮件/系统邮件直接跳过
      if (!rawSender) return;
      
      // 解析Sender字段的标准格式:"姓名<邮箱地址>" 或纯邮箱地址
      const emailMatch = rawSender.match(/<([^>]+)>/);
      const senderEmail = emailMatch ? emailMatch[1].toLowerCase() : rawSender.toLowerCase();
      // 提取发件人姓名,如无姓名则留空
      const senderName = emailMatch ? rawSender.split("<")[0].trim().replace(/"/g, "") : "";

      // 累加统计次数
      if (!senderStats[senderEmail]) {
        senderStats[senderEmail] = { name: senderName, count: 0 };
      }
      senderStats[senderEmail].count += 1;
    });
  });

  // 清空当前活动 sheet 原有内容并写入表头
  const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  activeSheet.clear();
  activeSheet.appendRow(["成员邮箱", "成员姓名", "已代发邮件数量"]);
  
  // 写入统计结果
  Object.entries(senderStats).forEach(([email, info]) => {
    activeSheet.appendRow([email, info.name, info.count]);
  });
}

注意事项

  • 前置配置要求:需要Workspace管理员已开启共享团队账号的「成员代发时自动将已发送邮件同步到团队账号已发送文件夹」设置,否则脚本无法读取到全量代发邮件。
  • 权限说明:首次运行脚本时需授权Gmail、Google Sheets的读写权限,授权账号需为该团队通用Gmail账号本身。
  • 历史邮件兼容:部分开启代发功能之前的存量邮件可能未写入Sender头字段,这部分邮件会被自动跳过,可根据实际需求单独补充统计逻辑。
  • 批量拉取优化:单页最多可拉取500个邮件线程,若已发送邮件总量超过该阈值,可通过循环调整GmailApp.search的起始分页参数拉取全量数据,避免触发接口上限。
  • 自定义映射扩展:如果需要将成员邮箱对应为内部部门、工号等信息,可提前在Sheets中维护成员对照列表,写入结果时自动匹配替换即可。

内容的提问来源于stack exchange,提问作者Christoph Schmid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.04 03:54:01