无需Twilio手机号发送短信的PHP实现方案求助
关于Twilio无需接收回复发送短信的问题解答
错误原因
你遇到的A 'From' phone number is required错误,是因为配置的Messaging Service里没添加任何合法的发件人资源——Twilio需要一个可识别的发件标识才能发送短信,哪怕不需要接收回复。
是否必须购买Twilio手机号?
不是必须,但你得给Messaging Service配置其他可用的发件人选项,以下几种都符合「无需接收回复」的需求:
- Alpha Sender:用品牌名称作为发件人(比如
YourBrand),完全无法接收回复,适合发送通知类短信。但需要提交Twilio审核,且仅支持部分国家/地区。 - 短代码(Short Code):5-6位数字的专用代码,适合高发送量场景,同样不支持回复,但申请流程和成本较高。
- 如果是小量测试或快速上线,购买Twilio虚拟手机号是最便捷的方式,操作门槛低。
代码调整与配置步骤
你当前的PHP代码本身没问题,完成Messaging Service的发件人配置就能正常运行:
- 登录Twilio控制台,找到对应的Messaging Service
- 进入「发件人池(Sender Pool)」页面,添加Alpha Sender/短代码/Twilio号码
- 等待添加的发件人通过Twilio审核(Alpha Sender需要人工审核)
- 重新执行代码,Twilio会自动从配置的发件人资源中选合适的标识发送短信
你的代码可以保持不变:
public function sendSms(string $message, string $phone) { $sid = env("TWILIO_ACCOUNT_SID"); $token = env("TWILIO_AUTH_TOKEN"); $messagingSid = env("MESSAGING_SERVICE_SID"); $twilio = new Client($sid, $token); $message = $twilio->messages->create( $phone, [ "body" => $message, "messaging_service_sid" => $messagingSid, ] ); return $message->sid; }
内容的提问来源于stack exchange,提问作者Leslie Joe
相关产品推荐
相关产品推荐

