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

基于AppScript的用户友好型HTML邮件输入方法问询

可行实现方案

方案核心思路

直接复用现有Google Sheets体系,新增独立的邮件模板工作表,零额外工具成本,团队无需掌握任何代码知识即可修改内容。

具体操作步骤

  • 第一步:在现有Google Sheets工作簿中新增一个名为「邮件模板」的工作表,预设填写规则:
    • A1单元格标注「邮件主题」,B1单元格留给团队填写实际主题,支持占位符,比如售后通知:{{客户姓名}}您的订单已发出
    • A2单元格标注「邮件正文」,B2单元格可以拉宽拉高方便输入,留给团队填写正文内容,需要插入变量的位置统一用{{变量名}}格式标注,比如开头写您好{{客户姓名}}:,变量名和客户信息表的列名保持一致即可
    • 可以在模板表下方添加填写示例,提前列好所有可用的占位符,避免团队填写错误
  • 第二步:调整现有Apps Script代码,增加模板读取和变量替换逻辑:
    1. 脚本运行时优先读取「邮件模板」工作表的主题和正文内容
    2. 遍历客户信息行的所有字段,把正文中对应的{{字段名}}占位符批量替换为当前客户的实际值
    3. 替换完成后再调用Gmail发送接口即可
  • 第三步(可选优化):如果需要支持简单排版(加粗、换行、列表),可以告知团队用最基础的Markdown规则填写模板,在脚本中增加一段轻量Markdown转HTML的工具函数,替换完变量后把正文内容转成HTML格式再发送,全程不需要团队懂HTML代码。

核心代码示例

// 读取邮件模板
function getEmailTemplate() {
  const templateSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('邮件模板');
  return {
    subject: templateSheet.getRange('B1').getValue(),
    content: templateSheet.getRange('B2').getValue()
  }
}

// 替换模板变量
function renderTemplate(template, data) {
  let rendered = template;
  for (const [key, value] of Object.entries(data)) {
    rendered = rendered.replaceAll(`{{${key}}}`, value);
  }
  return rendered;
}

// 发送邮件调用示例
function sendEmailToCustomer(customerData) {
  const template = getEmailTemplate();
  const subject = renderTemplate(template.subject, customerData);
  const htmlBody = renderTemplate(template.content, customerData);
  // 此处可按需插入Markdown转HTML逻辑
  GmailApp.sendEmail(customerData.客户邮箱, subject, '', {
    htmlBody: htmlBody
  });
}

方案优势

  • 零额外工具接入,完全复用现有Google Sheets生态,不需要开通其他服务
  • 团队学习成本几乎为0,只需要按照示例填写模板、用固定格式标注变量位置即可,不需要懂HTML或Apps Script
  • 后续新增变量只要在客户信息表加列、模板里加对应占位符即可,不需要修改代码逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:45:06