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

如何在Google Sheet中设置整列条件触发的邮件告警?

Google Sheets 整列监控域名到期告警解决方案

我完全懂你现在的痛点——复制代码逐个监控单元格效率太低了,咱们直接修改代码实现整列批量监控,还能让告警邮件更实用。

修改后的完整代码

function CheckDomainExpiry() {
  // 获取域名列表工作表对象
  const domainSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("domain list");
  // 动态获取F列有数据的范围(从F2到最后一行)
  const lastRow = domainSheet.getLastRow();
  const expiryDaysRange = domainSheet.getRange(`F2:F${lastRow}`);
  const expiryDays = expiryDaysRange.getValues();
  
  // 同时获取对应的域名(A列),让告警邮件更明确
  const domainNamesRange = domainSheet.getRange(`A2:A${lastRow}`);
  const domainNames = domainNamesRange.getValues();
  
  // 收集即将到期的域名
  const expiringDomains = [];
  expiryDays.forEach(([daysLeft], index) => {
    // 确保单元格是数字且剩余天数小于2
    if (typeof daysLeft === 'number' && daysLeft < 2) {
      expiringDomains.push(domainNames[index][0]);
    }
  });

  // 只有存在到期域名时才发送邮件
  if (expiringDomains.length > 0) {
    // 获取收件人邮箱列表,处理成一维数组并过滤空值
    const emailSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Company emails");
    const emailLastRow = emailSheet.getLastRow();
    const emailAddresses = emailSheet.getRange(`B2:B${emailLastRow}`)
      .getValues()
      .flat() // 把二维数组转成一维
      .filter(email => email.trim() !== ''); // 过滤空邮箱
    
    // 组装邮件内容
    const message = `以下域名将在2天内到期,请及时处理:\n\n${expiringDomains.join("\n")}\n\n请查看「domain list」工作表确认详细信息。`;
    const subject = '⚠️ 域名即将到期告警';
    
    // 发送告警邮件
    MailApp.sendEmail(emailAddresses, subject, message);
  }
}

关键修改说明

  • 动态适配数据范围:用getLastRow()获取工作表最后一行数据的行号,代替固定的行号(比如F54),新增域名时不需要修改代码,自动覆盖所有行。
  • 批量遍历检查:通过forEach循环遍历整列的剩余天数,逐个判断是否小于2,不用再复制多份代码。
  • 告警信息更精准:同时获取A列的域名,把即将到期的域名列在邮件里,收件人能直接知道要处理哪个域名,不用再翻表格找。
  • 优化邮箱列表处理:用flat()把二维数组转成一维(getValues()返回的是二维数组),再过滤空邮箱,避免因为空单元格导致邮件发送失败。
  • 条件触发邮件:只有当确实有到期域名时才发送邮件,避免每天收到无意义的空告警。

额外建议

记得给这个脚本设置时间驱动触发器,让它每天自动运行:

  1. 打开Google Sheet,点击顶部菜单栏「扩展程序」→「Apps脚本」
  2. 在脚本编辑器界面,点击左侧「触发器」图标(闹钟形状)
  3. 点击「添加触发器」,设置触发事件为「时间驱动」,选择「每天」,设置合适的运行时间(比如上午9点)

这样你就不用手动执行脚本,每天自动监控域名到期情况啦!

内容的提问来源于stack exchange,提问作者user3526312

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:32:19