想要直接从电子表格中自动发送预约提醒、预订确认或客户通知吗?在这篇综合指南中,我们将向您展示如何通过 Google Scripts 代码结合免费短信网关服务替代方案,以及无需复杂运营商注册、对开发者友好的低成本工具来发送短信。

从 Google Sheets 自动化发送短信的挑战

对于牙科诊所、汽车修理店、语言学校和美容院等本地商家来说,让客户随时了解信息是消除“预约未到”和简化运营的最佳方式。Google Sheets 通常是管理这些客户名单和日程表的首选工具,因为它灵活、易于访问且完全免费。

然而,当企业主搜索如何通过 Google Scripts 代码结合免费短信网关服务选项时,他们很快就会遇到重大的技术和财务障碍。像 Twilio、Plivo 或 MessageBird 这样的传统企业平台是为大规模企业技术栈设计的。它们需要复杂的开发者设置、强制性的企业验证以及严格的 A2P 10DLC 注册流程,审核可能需要数周时间。除此之外,它们还会收取高昂的月度平台费,并按 160 个字符的段落计费,这意味着一条长短信的成本可能是宣传费率的两到三倍。

过去,开发者使用“Email-to-SMS”网关作为免费的变通方案,但现代电信运营商几乎会立即将这些信息拦截为垃圾邮件。为了解决这个问题,像 MySMSGate 这样现代的 Android 短信网关 提供了完美的折中方案:您编写一个简单的 Google 脚本,直接通过您自己的 Android 手机和 SIM 卡发送消息。您可以获得从自己熟悉的业务号码发送消息的可靠性,而无需支付企业级费用或处理运营商审批的烦恼。

第 1 步:创建您的免费 MySMSGate 账户

首先,您需要一个可靠的短信网关后端,它可以接收来自 Google Apps Script 的 API 请求并将其转发到移动设备。传统的设置需要昂贵的开发者账户,但 MySMSGate 提供了一个经济实惠、对开发者友好的替代方案,无需合同,无需月租费,每条短信固定费率仅为 $0.02。

按照以下步骤设置您的网关账户:

  1. 前往 MySMSGate 注册页面并 创建您的免费账户
  2. 登录后,导航到您的 Web 控制面板。在这里您会找到唯一的 API Key。请复制此密钥,因为稍后您需要将其粘贴到 Google Apps Script 代码中。
  3. 检查您的余额。MySMSGate 采用透明的按需付费模式,每条消息固定收费 $0.02。与其他服务不同,这里没有隐藏费用,如果短信发送失败,费用会自动退回。

第 2 步:通过二维码连接您的 Android 手机

MySMSGate 可以将您自己的 Android 手机(或不同业务分支机构的多部手机)变成专用的短信网关。这意味着您的消息是使用您现有的 SIM 卡和蜂窝套餐发送的,确保您的客户收到来自他们已认出的本地号码的短信。

将您的手机链接到控制面板:

  1. 在您的手机上下载并安装官方 MySMSGate Android 应用。该应用本身也是一个功能齐全的短信信使。
  2. 打开手机上的应用,点击链接新设备的选项。
  3. 扫描 MySMSGate Web 控制面板上显示的二维码。您的手机将立即连接到您的账户——无需输入长长的 API 密钥或配置复杂的服务器设置。
  4. 确保应用具有在后台运行的权限。MySMSGate 具有自动唤醒功能,利用推送通知保持手机活跃,即使手机处于休眠模式也是如此。

如果您使用的是双卡手机,您可以直接从控制面板或通过脚本负载配置从哪个 SIM 卡槽发送,从而完全控制您的蜂窝路由。

第 3 步:设置用于短信自动化的 Google 表格

网关激活后,您需要构建 Google 表格的结构来保存客户数据并跟踪消息发送状态。让我们创建一个清晰、简单的布局,以便我们的脚本轻松读取。

打开一个新的 Google 表格,并在第一行设置以下列标题:

  • A 列: 客户姓名 (Customer Name)
  • B 列: 电话号码 (Phone Number)(务必包含国家代码,例如 +8613800138000 或 +12025550143)
  • C 列: 消息内容 (Message)(您想要发送的自定义文本消息)
  • D 列: 状态 (Status)(留空;我们的脚本将在此处写入“Sent”或“Failed”)

在运行完整客户列表之前,请用您自己的电话号码填写几行测试数据以测试集成情况。

第 4 步:编写 Google Apps Script 代码

现在,让我们编写将 Google 表格连接到 MySMSGate REST API 的代码。此脚本将循环遍历电子表格行,识别尚未发送的消息,并通过您连接的 Android 手机发送它们。

要将脚本添加到您的 Google 表格:

  1. 在您的 Google 表格中,点击顶部菜单中的扩展程序 (Extensions),然后选择 Apps 脚本 (Apps Script)
  2. 删除编辑器中的所有默认代码,并粘贴以下 Google Apps Script 代码:
function sendSMSFromSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var rows = sheet.getDataRange().getValues();
  
  // 替换为您真实的 MySMSGate API Key
  var apiKey = "YOUR_MYSMSGATE_API_KEY";
  
  // 循环遍历行,从索引 1 开始以跳过标题行
  for (var i = 1; i < rows.length; i++) {
    var name = rows[i][0];
    var phoneNumber = rows[i][1];
    var messageText = rows[i][2];
    var status = rows[i][3];
    
    // 仅在电话号码不为空且状态不是 'Sent' 时发送
    if (phoneNumber !== "" && status !== "Sent") {
      var payload = {
        "api_key": apiKey,
        "to": phoneNumber,
        "message": messageText
      };
      
      var options = {
        "method": "post",
        "contentType": "application/json",
        "payload": JSON.stringify(payload),
        "muteHttpExceptions": true
      };
      
      try {
        // 调用 MySMSGate REST API 端点
        var response = UrlFetchApp.fetch("https://mysmsgate.net/api/v1/send", options);
        var json = JSON.parse(response.getContentText());
        
        if (response.getResponseCode() == 200 && json.status === "success") {
          // 将状态列更新为 'Sent'
          sheet.getRange(i + 1, 4).setValue("Sent");
        } else {
          // 标记为失败并记录错误信息
          var errorMsg = json.message || "API Error";
          sheet.getRange(i + 1, 4).setValue("Failed: " + errorMsg);
        }
      } catch (e) {
        sheet.getRange(i + 1, 4).setValue("Error: " + e.toString());
      }
      
      // 短暂暂停以防止触发 API 速率限制
      Utilities.sleep(1000);
    }
  }
}

请确保将 YOUR_MYSMSGATE_API_KEY 替换为您控制面板中的实际密钥,然后点击磁盘图标保存您的项目。

第 5 步:测试并自动化您的短信分发

在自动化系统之前,进行手动测试以验证 Google Apps Script 是否能通过我们的 最便宜短信 API 解决方案成功与您的 Android 设备通信至关重要。

  1. 在 Google Apps Script 编辑器中,确保下拉菜单中选中了 sendSMSFromSheet 函数。
  2. 点击运行 (Run) 按钮。Google 会提示您授予脚本访问电子表格和发出外部 Web 请求的权限。请授予这些权限。
  3. 查看您的 Google 表格。如果成功,测试行的“状态”列将变为“Sent”,几秒钟内您的手机就会收到短信。

要使此系统完全自动化(例如,每天早上发送预约提醒),您可以在 Google Apps Script 中设置时间驱动型触发器:

  1. 点击 Apps Script 编辑器左侧边栏的时钟图标(触发器)。
  2. 点击右下角的添加触发器 (Add Trigger)
  3. 将要运行的函数设置为 sendSMSFromSheet
  4. 选择事件源为时间驱动 (Time-driven)
  5. 根据您的业务需求配置为每天运行(例如,每天早上 8 点到 9 点之间)或每小时运行。

对于想要在不编写任何代码的情况下运行营销或公告活动的商家,您可以搜索“comment envoyer des campagnes sms sans utiliser de code ?”等资源,或者直接使用 MySMSGate Web 控制面板,它允许您导入列表并直接从浏览器发送群发活动。

MySMSGate 与传统短信网关的比较

在选择短信集成路径时,了解完全免费服务、传统企业 API 和基于 Android 的网关模式之间的权衡非常重要。下表概述了 MySMSGate 与市场上其他选项的对比:

功能MySMSGate传统 API (Twilio, Plivo)“免费” Email-to-SMS 网关
单条短信成本固定 $0.02 (无分段附加费)$0.05 - $0.08 + 按 160 字符分段计费免费 (但极不可靠)
每月预留费$0.00 (按需付费)需要每月租赁电话号码
10DLC / 品牌注册不需要 (使用您自己的 SIM 卡)强制性 (耗时数周,设置费昂贵)不适用
发件人身份您自己的手机号码 (客户可识别)随机短码或陌生的虚拟号码通常会被运营商垃圾邮件过滤器立即拦截
发送失败的消息自动退款至余额照常收费无声无息地丢弃
设置时间5 分钟以内 (扫码)数天至数周的合规性审核不确定 (需要特定运营商域名)

虽然一些开发者在寻找“2026 年移动应用集成最佳短信 API”或“最佳简单语音短信 API”等专用工具,但本地小企业从实用、低开销的解决方案中获益最多。MySMSGate 消除了企业注册的壁垒,让您能够在几分钟内利用已有的硬件开始发送提醒。

常见问题 (FAQ)

我可以使用完全免费的短信网关配合 Google Scripts 吗?

虽然一些旧教程建议使用免费的 Email-to-SMS 网关(例如向 [email protected] 发送电子邮件),但现代电信运营商为了打击垃圾邮件已对这些网关进行了严格限制。通过这些免费方法发送的消息通常会被拦截、延迟或丢失格式。MySMSGate 提供了一个高度可靠、低成本的替代方案,每条消息仅需 $0.02 且无月度平台费,通过您自己的手机为您提供企业级的送达率。

为什么 MySMSGate 需要 Android 手机?

通过安装在您实物手机上的 Android 应用路由消息,MySMSGate 充当了代码与您的蜂窝运营商之间的桥梁。这使您能够从真实的业务号码发送短信,而无需注册虚拟品牌、租赁昂贵的短码或遵守复杂的国际运营商规则。

我需要注册 10DLC 或运营商审批吗?

不需要。因为您的消息是直接从您的个人或商务 SIM 卡发送的,所以您不需要注册 10DLC(10 位长代码)或进行任何运营商审批流程。这使其成为在美国境外运营、希望快速设置事务性提醒而无需繁琐手续的本地企业的理想解决方案。

如果短信发送失败会怎样?

如果由于网络问题、无效电话号码或设备断开连接导致消息无法送达,MySMSGate 会自动检测失败并立即将该消息的成本退回到您的账户余额。您只需为成功的传输付费。