用AI自动分类邮件并生成智能回复:零基础搭建智能邮件助手

用AI自动分类邮件并生成智能回复:零基础搭建智能邮件助手
用AI自动分类邮件并生成智能回复:零基础搭建智能邮件助手

为什么你需要AI邮件助手?

职场中,我们每天要处理数十封邮件:客户咨询、内部通知、垃圾广告……手动分类耗时费力,简单回复又重复枯燥。利用AI办公工具,你可以让程序自动读取邮件内容,根据语义将其归类到“紧急”、“客户”、“内部”等文件夹,并生成针对性的回复草稿。

本文以Google Workspace环境为例,教你使用Google Apps Script调用OpenAI API,实现邮件自动分类与智能回复。如果你的公司使用Outlook,也可以迁移思路到Power Automate中。

准备工作

  1. Google账号(用于登录Gmail并运行脚本)
  2. OpenAI API密钥(在 platform.openai.com 创建,需绑卡但可设置用量上限)
  3. 基本的JavaScript理解(能看懂简单的数组、函数即可)

你无需安装任何软件,所有操作都在浏览器中完成,Windows/mac/Linux通用。

第一步:获取Gmail中未读邮件的脚本框架

打开 Google Apps Script,新建一个项目。删除默认代码,粘贴以下基础结构:

function autoClassifyAndReply() {
  var threads = GmailApp.getInboxThreads(0, 20); // 获取最近20封未读邮件
  for (var i = 0; i < threads.length; i++) {
    var thread = threads[i];
    var messages = thread.getMessages();
    for (var j = 0; j < messages.length; j++) {
      var msg = messages[j];
      var subject = msg.getSubject();
      var body = msg.getPlainBody().substring(0, 500); // 限制字符数
      if (msg.isUnread()) {
        // 这里将调用AI进行”分类+回复”
        var result = callAI(subject, body);
        // 应用分类标签和草稿回复
        applyClassifyAndReply(thread, msg, result);
      }
    }
  }
}

这段代码会扫描收件箱中最近的未读邮件,提取主题和前500字符正文,交给自定义函数callAI处理。

第二步:调用OpenAI API实现智能分类与回复生成

在同一个脚本项目中,添加一个新函数:

function callAI(subject, body) {
  var apiKey = "你的OpenAI密钥"; // 建议存为脚本属性
  var prompt = `你是一个邮件助手。请根据以下邮件内容完成两项任务:
1. 分类(仅从“紧急/客户/内部/其他”中选择一个)
2. 生成一句简短的回复草稿(50字以内)
返回格式:{"category":"分类","reply":"回复文本"}
邮件主题:${subject}
邮件正文:${body}`;
  var payload = {
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": prompt}],
    "temperature": 0.3
  };
  var options = {
    "method": "post",
    "headers": {
      "Authorization": "Bearer " + apiKey,
      "Content-Type": "application/json"
    },
    "payload": JSON.stringify(payload)
  };
  var response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", options);
  var json = JSON.parse(response.getContentText());
  var content = json.choices[0].message.content;
  // 解析AI返回的JSON字符串
  try {
    var obj = JSON.parse(content);
    return obj;
  } catch(e) {
    return {"category":"其他","reply":"感谢来信,稍后回复。"};
  }
}

提示:实际使用时,建议将API密钥存储在脚本属性中(菜单栏→项目设置→脚本属性),避免明文泄露。

第三步:应用分类标签与生成草稿回复

function applyClassifyAndReply(thread, msg, result) {
  // 1. 添加标签
  var label = GmailApp.getUserLabelByName(result.category);
  if (!label) {
    label = GmailApp.createLabel(result.category);
  }
  thread.addLabel(label);
  // 2. 创建回复草稿(不发送)
  var replyBody = "nn---n[AI建议回复]n" + result.reply;
  msg.reply(replyBody);
  msg.markRead();
}

运行脚本后,Gmail中会出现“紧急”“客户”等标签,邮件会话中会追加一条带“AI建议回复”标记的草稿。你可以一键删除或直接修改后回复。

第四步:设置定时触发器实现全自动

回到Apps Script编辑器,点击左侧时钟图标(触发器)。添加新触发器:

  • 函数:autoClassifyAndReply
  • 事件:时间驱动 → 每分钟或每5分钟
  • 失败通知:开启

保存后,脚本就会在你设定的时间间隔内自动运行。注意免费版Google Apps Script有每天2万次URL Fetch限制,处理个人邮件完全够用。

进阶优化技巧

  • 优化分类粒度:在prompt中添加更多示例,比如“客户投诉”归入“紧急”,“周报”归入“内部”。
  • 结合Gmail过滤器:对已知的垃圾发件人提前过滤,降低API调用成本。
  • 在mac/Windows下调试:使用编辑器内建的Logger.log()查看AI返回结果。
  • 迁移到Outlook/Power Automate:类似思路可用Power Automate + HTTP请求实现,适合企业环境。

安全性提醒

  • 不要在脚本中硬编码API密钥(使用脚本属性或密钥管理服务)。
  • 避免让AI访问包含敏感信息的邮件(如密码、银行卡号)。
  • 定期审计AI生成的回复,防止误发。

总结

通过以上步骤,你仅用几十行代码就搭建了一个AI驱动的邮件分类+智能回复系统。它不仅能帮你节省时间,还可以作为学习AI办公自动化的入门项目。如果你没有编程基础,也可以搜索“Gmail AI插件”或“Spark Mail”等现成工具,但动手实现往往更有成就感。

现在就去创建一个脚本,让你的邮箱也变成“智能助手”吧!

阅读剩余
THE END