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

Twilio API发送SMS异常:无论设置何From均使用注册的字母数字发件ID

问题:Twilio API发送SMS时From值失效,始终使用注册的字母数字发件ID

我们一直用Twilio API发送两种类型SMS:

  • 用号码发送(支持用户回复)
  • 用字母数字发件ID发送

此前只需修改API请求里的From值就能切换,请求示例如下:

curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json" \
--data-urlencode "Body=Hi there" \
--data-urlencode "From=+15017122661" \
--data-urlencode "To=+15558675310" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

使用字母数字发件ID时,只需替换From值:

--data-urlencode "From=MyCompany..." \

但收到Twilio合规提醒并重新注册发件ID后,无论设置From为号码、已注册的字母数字ID、无效值,或是使用messagingServiceId并留空From,所有SMS都强制使用注册的MyCompany发件ID发送。想知道原因是什么?是否需要用新API才能以号码发送?


原因分析与解决办法

可能的原因

  1. 合规设置强制锁定发件ID
    重新注册发件ID时,可能在Twilio控制台的合规配置里开启了强制使用已验证发件ID的选项,系统会忽略API请求里的From参数,直接使用你完成合规验证的默认发件ID。

  2. 消息服务(Messaging Service)配置覆盖
    如果你的账号默认绑定了某个消息服务,且该服务设置了默认发件人为MyCompany,即使请求里指定From或使用messagingServiceId,也会被服务的默认配置覆盖。

  3. 账号级发件人设置优先级过高
    完成合规注册后,Twilio可能将你验证的字母数字ID设为了账号的全局默认发件人,优先级高于API请求里的From参数。

解决步骤

  1. 检查控制台合规配置
    登录Twilio控制台,进入「发件人验证」或「合规」板块,查看是否有强制使用已验证发件人的开关,若开启则关闭,或添加你的号码到已验证发件人列表。

  2. 调整消息服务配置
    如果使用了消息服务,进入对应服务的设置页面,检查「默认发件人」是否被设为MyCompany,修改为允许动态选择,或添加你的号码作为可选发件人。

  3. 重置账号全局默认发件人
    在Twilio控制台的「账号设置」或「短信设置」里,查看是否设置了全局默认发件人,将其改为无默认值,或切换为你常用的号码。

  4. 验证API请求参数优先级
    确保请求里的From参数格式正确(号码需带国家码,字母数字ID需符合Twilio规范),且未同时传递会覆盖From的其他参数(比如某些场景下messagingServiceId会优先于From)。

不需要更换新API,Twilio的2010-04-01版本API仍然支持切换发件人,问题出在账号或服务的配置上。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:12:39