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

Google Apps Script发送含HTML表格多行数据的邮件时运行失败求助

问题根因

  • 未处理空输入:用户仅填写部分行号时,未填写的输入项会返回空字符串,直接作为行号传入getRange()方法会触发参数非法异常,导致脚本终止
  • 语法错误:原代码中tableRowTwo变量定义末尾错误使用+而非语句结束符;,导致脚本解析失败
  • 未定义变量:原代码中直接使用了date、tableHeaders、endOfEmail、emailAddress四个未赋值的变量,运行时会抛出引用错误
  • 别名参数错误:GmailApp.getAliases()返回的是邮箱别名数组,不能直接传入from参数,需要指定具体使用的别名下标

修复方案

优化为动态适配任意数量(最多5行)输入的逻辑,自动过滤空输入、校验行号合法性,避免重复代码:

function emailAgent(formObject){
  // 请自行补充此处缺失的变量赋值,适配实际业务需求
  const emailAddress = "收件人邮箱地址"; 
  const date = new Date().toLocaleDateString(); 
  const tableHeaders = '<tr><th style="text-align: center; border: 2px solid black; border-collapse: collapse; padding: 5px;">详情</th></tr>'; 
  const endOfEmail = '</table><p>邮件末尾自定义内容</p>'; 
  const useAlias = GmailApp.getAliases()[0]; // 取第一个可用别名,可按需调整下标

  // 初始化工作表
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheet1 = ss.getSheetByName('Sheet1');
  
  // 处理用户提交的行号,过滤空输入和非法值
  const rowFields = [formObject.rowOne, formObject.rowTwo, formObject.rowThree, formObject.rowFour, formObject.rowFive];
  const validRows = rowFields
    .map(rowStr => rowStr ? parseInt(rowStr.trim()) : NaN)
    .filter(rowNum => !isNaN(rowNum) && rowNum > 0);

  // 批量生成表格行HTML
  let tableRows = "";
  validRows.forEach(rowNum => {
    const details = sheet1.getRange(rowNum, 11).getValue();
    tableRows += `<tr>
      <td style="text-align: center; border: 2px solid black; border-collapse: collapse; padding: 5px;">${details}</td>
    </tr>`;
  });
  
  // 拼接邮件内容并发送
  const message = "";
  const subject =  "Request to add " + date;
  const body =   
    `<body>
    <table style="border-collapse: collapse;">
    ${tableHeaders}
    ${tableRows}
    ${endOfEmail}
    </body>`;

  GmailApp.sendEmail(emailAddress, subject, message, {
    'from': useAlias,
    'replyTo': useAlias,
    htmlBody: body
  });  
}

调试方法

后续排查报错可在代码中添加console.log()打印中间变量,运行后在Apps Script编辑器的「执行日志」中查看具体报错信息,快速定位问题点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:57:02