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

为什么你需要AI邮件助手?
职场中,我们每天要处理数十封邮件:客户咨询、内部通知、垃圾广告……手动分类耗时费力,简单回复又重复枯燥。利用AI办公工具,你可以让程序自动读取邮件内容,根据语义将其归类到“紧急”、“客户”、“内部”等文件夹,并生成针对性的回复草稿。
本文以Google Workspace环境为例,教你使用Google Apps Script调用OpenAI API,实现邮件自动分类与智能回复。如果你的公司使用Outlook,也可以迁移思路到Power Automate中。
准备工作
- Google账号(用于登录Gmail并运行脚本)
- OpenAI API密钥(在 platform.openai.com 创建,需绑卡但可设置用量上限)
- 基本的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”等现成工具,但动手实现往往更有成就感。
现在就去创建一个脚本,让你的邮箱也变成“智能助手”吧!