如何用Google App Scripts为Gmail不同星标邮件自动添加对应优先级标签
Gmail自动标记优先级邮件实现方案
Gmail原生筛选器确实不支持has:red-bang、has:yellow-bang这类特殊星标状态作为匹配条件,通过Google Apps Script可以完全实现你需要的自动化逻辑,具体操作步骤如下:
前置准备
- 打开Gmail侧边栏,点击「创建新标签」,分别新建名称为
High Priority和Low Priority的两个标签,名称不要输入错误,后续脚本会严格匹配标签名执行操作。
部署脚本
- 打开Google Apps Script编辑器,可以直接从Gmail右上角「扩展程序」菜单找到入口,也可以直接访问脚本服务新建空白项目。
- 清空编辑器内默认的示例代码,粘贴以下代码:
function autoTagPriorityMails() { // 处理红色感叹标高优先级邮件 const highPriorityQuery = 'has:red-bang -label:"High Priority"'; const highPriorityLabel = GmailApp.getUserLabelByName('High Priority'); const highPriorityThreads = GmailApp.search(highPriorityQuery); highPriorityThreads.forEach(thread => { thread.addLabel(highPriorityLabel); thread.markUnread(); }); // 处理黄色感叹号低优先级邮件 const lowPriorityQuery = 'has:yellow-bang -label:"Low Priority"'; const lowPriorityLabel = GmailApp.getUserLabelByName('Low Priority'); const lowPriorityThreads = GmailApp.search(lowPriorityQuery); lowPriorityThreads.forEach(thread => { thread.addLabel(lowPriorityLabel); thread.markUnread(); }); }
- 点击编辑器上方的保存按钮,给项目取任意名称即可。
代码逻辑说明:搜索条件中增加了排除已打对应标签的规则,只会处理未分类的目标邮件,不会重复操作已经归类的内容,避免浪费API配额。
设置自动执行触发器
- 在Apps Script编辑器左侧菜单栏找到「触发器」选项,点击「添加触发器」。
- 按以下参数配置触发器:
- 选择要运行的函数:
autoTagPriorityMails - 选择事件源:
时间驱动 - 选择时间间隔类型:
分钟计时器 - 选择间隔时长:建议设置为5-10分钟,可实现近实时的邮件分类,不会漏过新到邮件
- 选择要运行的函数:
- 保存触发器时按照页面提示完成账号授权即可。如果授权时弹出「Google未验证此应用」的提示,点击「高级」-「继续前往(你的项目名)」即可,这是你私人部署的脚本,所有数据只会在你自己的账号内流转,不存在安全风险。
使用说明
配置完成后,新收到的带红色/黄色感叹号的邮件会自动被打上对应标签并标记为未读,Gmail侧边栏的标签旁会自动显示该分类下的未读邮件计数,你可以直接点击High Priority标签优先处理高优先级邮件,空闲时再处理Low Priority分类下的内容。
注意事项
- 如果后续修改了标签名称,需要同步修改代码中对应的标签名参数,否则脚本会因找不到标签运行报错。
- 个人日常使用场景下,5-10分钟的执行间隔完全足够,不需要设置过短的间隔避免触发Gmail API的调用配额限制。
内容的提问来源于stack exchange,提问作者JamesReed68
相关产品推荐
相关产品推荐

