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

为何使用Twilio Messaging Service与Twilio Functions时消息无法发送?

修复方案

核心错误原因

群发消息模块的异步处理逻辑存在问题:Array.prototype.forEach 不支持异步等待,外层添加的await不会等待所有client.messages.create请求执行完成,代码会直接调用callback返回结果。Twilio Functions 在收到回调后会立即回收执行资源,未完成的发消息请求会被直接中断,这就是本地测试正常、部署后无法发送消息的根本原因。

修复代码

将原有群发消息段落的代码替换为以下内容即可:

// Send message to each contact.
const sendPromises = allItems.map(contact => {
  return client.messages
  .create({
    body: `Hey ${contact.name}! ${message}`,
    messagingServiceSid: messaging_service,
    to: contact.key
  })
  // 可选:添加错误捕获,避免单条发送失败中断整个群发
  .catch(err => console.error(`发送给${contact.key}失败,错误信息:`, err))
});
await Promise.all(sendPromises);
// End send message to each contact

额外排查建议

  • 确认Twilio消息服务已经绑定了符合要求的发件人号码,支持向所有目标联系人的归属地区发送短信
  • 确认Deta数据库返回的contact.key字段是符合E.164格式的标准手机号(格式为+[国家码][手机号],比如中国手机号为+8613xxxxxxxxx)
  • 如果联系人数量超过100人,建议调整Twilio Functions的超时时间(最高可设为15秒),或将群发逻辑拆分为异步后台任务避免执行超时

内容的提问来源于stack exchange,提问作者Develop With Data

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:30:01