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

如何在Google Sheets单元格变动时自动向客户发送邮件

Google Sheets 订单状态变更自动发邮件实现方案

首先确认你的表格结构每行对应一个订单,至少包含状态字段列、客户邮箱列、客户名称列、订单编号列核心字段,和参考表结构匹配:
订单表参考示例

实现步骤

  • 第一步:打开绑定的Apps脚本编辑器

    打开你的Google Sheets表格,点击顶部菜单栏「扩展程序」->「Apps 脚本」,进入脚本编辑页面,删除默认生成的myFunction空代码。
  • 第二步:粘贴自动化逻辑代码

    将下方代码粘贴到编辑器中,按照注释提示修改对应配置项匹配你的表格列规则:
    // 配置项:请根据你的表格实际情况修改对应数值
    const STATUS_COLUMN = 3; // 状态字段所在列号,从左到右从1开始计数
    const EMAIL_COLUMN = 5; // 客户邮箱所在列号
    const CUSTOMER_NAME_COLUMN = 2; // 客户名称所在列号
    const ORDER_ID_COLUMN = 1; // 订单编号所在列号
    const SHEET_NAME = "订单表"; // 存储订单的工作表名称
    
    function sendStatusChangeEmail(e) {
      // 仅监听指定工作表的编辑操作
      const activeSheet = e.source.getActiveSheet();
      if (activeSheet.getName() !== SHEET_NAME) return;
    
      const editedRange = e.range;
      // 仅响应状态列的修改操作
      if (editedRange.getColumn() !== STATUS_COLUMN) return;
    
      const editedRow = editedRange.getRow();
      // 跳过表头行,如表头不在第1行可修改对应数值
      if (editedRow === 1) return;
    
      // 提取当前行的订单关联信息
      const orderId = activeSheet.getRange(editedRow, ORDER_ID_COLUMN).getValue();
      const customerName = activeSheet.getRange(editedRow, CUSTOMER_NAME_COLUMN).getValue();
      const customerEmail = activeSheet.getRange(editedRow, EMAIL_COLUMN).getValue();
      const newStatus = editedRange.getValue();
    
      // 跳过邮箱格式无效的行
      if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(customerEmail)) return;
    
      // 邮件内容配置,可按需修改
      const emailSubject = `您的订单${orderId}状态已更新`;
      const emailBody = `
    

尊敬的${customerName}:
您好!
您的订单${orderId}当前状态已更新为:${newStatus}
如有疑问可随时联系我们的客服团队。
此为系统自动通知邮件,请勿直接回复。
`;

// 执行邮件发送
MailApp.sendEmail({
  to: customerEmail,
  subject: emailSubject,
  body: emailBody
});

}

- ### 第三步:配置可安装编辑触发器
简单触发器没有发送邮件的权限,需要手动配置可安装触发器完成权限授权:
1. 在脚本编辑页面,点击左侧菜单栏的「触发器」(闹钟形状图标)
2. 点击右下角「添加触发器」按钮
3. 按以下参数配置触发器:
   - 选择要运行的功能:`sendStatusChangeEmail`
   - 选择活动来源:`电子表格`
   - 选择事件类型:`编辑时`
   - 失败通知设置:可选择「立即通知我」方便后续排查运行问题
4. 点击保存,按照页面提示登录Google账号完成权限授权即可。

## 注意事项
- 如果需要自定义邮件样式,可以用`htmlBody`参数替换代码中的`body`参数,支持HTML格式内容
- 测试功能时直接修改任意行的状态列,系统会自动触发邮件发送
- Google账号对单日邮件发送量有限额,普通个人账户单日限额为100封,Workspace账号限额更高,订单量较大时需要注意额度限制

内容的提问来源于stack exchange,提问作者ImAlex2000
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:15:05