如何基于Google表格H列编辑状态触发不同内容的自动邮件发送
实现Google Sheets编辑H列时自动发送对应邮件的方案
Got it, let's walk through exactly how to set this up with Google Apps Script—super straightforward once you know the steps:
步骤1:打开Apps Script编辑器
- 打开你的订单收集表格,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,这会跳转到一个新的脚本编辑页面。
步骤2:替换并配置脚本
删除编辑器里默认的myFunction()代码,粘贴下面的定制脚本:
function onEdit(e) { // 提取编辑事件的核心信息 const editedRange = e.range; const targetSheet = editedRange.getSheet(); const newValue = e.value; const rowNum = editedRange.getRow(); const colNum = editedRange.getColumn(); // 只处理H列(第8列)的编辑,同时跳过表头行(假设表头在第1行) if (colNum === 8 && rowNum > 1) { // 获取当前行的客户邮箱,请根据你的表格修改列号(比如A列=1,D列=4) const customerEmail = targetSheet.getRange(rowNum, 2).getValue(); // 当H列设为"Yes"时发送订单确认邮件 if (newValue === "Yes") { const emailSubject = "你的订单已确认"; const emailBody = `尊敬的客户:\n\n我们已成功确认你的订单请求,后续处理进度会通过邮件同步给你,请保持关注。\n\n如有任何疑问,欢迎随时联系我们。\n\n祝好!`; MailApp.sendEmail(customerEmail, emailSubject, emailBody); } // 当H列设为"No"时发送未确认说明邮件 else if (newValue === "No") { const emailSubject = "订单请求未确认说明"; const emailBody = `尊敬的客户:\n\n很抱歉,你的订单请求暂时未能通过确认,可能是由于信息缺失或不符合要求。请检查订单信息后重新提交,或联系客服咨询具体原因。\n\n感谢你的理解!`; MailApp.sendEmail(customerEmail, emailSubject, emailBody); } } }
关键配置提示:
- 邮箱列调整:脚本里
targetSheet.getRange(rowNum, 2)的第二个参数是邮箱所在的列号(示例中是B列=2),如果你的邮箱在其他列(比如E列=5),直接修改这个数字就行。 - 表头行适配:如果你的表格表头不在第1行,把
rowNum > 1改成rowNum > [你的表头行号],比如表头在第2行就写rowNum > 2。 - 邮件内容自定义:你可以完全替换
emailSubject和emailBody里的文本,改成符合你司风格的话术。
步骤3:授权并测试
- 点击编辑器顶部的保存按钮,给脚本起个名字(比如「OrderNotificationScript」)。
- 第一次手动修改H列时,会弹出权限授权提示,按照指引完成授权(需要允许脚本访问你的邮箱和表格数据)。
- 测试:修改任意行的H列为"Yes"或"No",检查对应邮箱是否收到邮件(别忘了看看垃圾邮件箱)。
额外注意事项
- 这个脚本用的是
onEdit()简单触发器,会在表格被编辑时自动触发,不需要额外设置定时任务。 - 如果邮件发送失败,先检查客户邮箱是否有效,再确认脚本的权限是否正确授予。
内容的提问来源于stack exchange,提问作者Jdfm
相关产品推荐
相关产品推荐

